aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src/display/navigation_target.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_ide/src/display/navigation_target.rs')
-rw-r--r--crates/ra_ide/src/display/navigation_target.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/crates/ra_ide/src/display/navigation_target.rs b/crates/ra_ide/src/display/navigation_target.rs
index 0b52b01ab..02f55e5ba 100644
--- a/crates/ra_ide/src/display/navigation_target.rs
+++ b/crates/ra_ide/src/display/navigation_target.rs
@@ -64,6 +64,7 @@ impl NavigationTarget {
64 self.file_id 64 self.file_id
65 } 65 }
66 66
67 // TODO: inconsistent
67 pub fn file_range(&self) -> FileRange { 68 pub fn file_range(&self) -> FileRange {
68 FileRange { file_id: self.file_id, range: self.full_range } 69 FileRange { file_id: self.file_id, range: self.full_range }
69 } 70 }
@@ -283,11 +284,13 @@ impl ToNav for hir::ImplDef {
283 } else { 284 } else {
284 original_range(db, src.as_ref().map(|it| it.syntax())) 285 original_range(db, src.as_ref().map(|it| it.syntax()))
285 }; 286 };
287 let focus_range =
288 src.value.target_type().map(|ty| original_range(db, src.with_value(ty.syntax())).range);
286 289
287 NavigationTarget::from_syntax( 290 NavigationTarget::from_syntax(
288 frange.file_id, 291 frange.file_id,
289 "impl".into(), 292 "impl".into(),
290 None, 293 focus_range,
291 frange.range, 294 frange.range,
292 src.value.syntax().kind(), 295 src.value.syntax().kind(),
293 ) 296 )