Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/navigation_target.rs')
-rw-r--r--crates/ide/src/navigation_target.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/crates/ide/src/navigation_target.rs b/crates/ide/src/navigation_target.rs
index 1e4d0e8cdc..df0c4a6ade 100644
--- a/crates/ide/src/navigation_target.rs
+++ b/crates/ide/src/navigation_target.rs
@@ -169,8 +169,13 @@ impl TryToNav for FileSymbol {
fn try_to_nav(&self, db: &RootDatabase) -> Option<NavigationTarget> {
let full_range = self.loc.original_range(db);
let focus_range = self.loc.original_name_range(db);
- let focus_range =
- if focus_range.file_id == full_range.file_id { Some(focus_range.range) } else { None };
+ let focus_range = if focus_range.file_id == full_range.file_id
+ && full_range.range.contains_range(focus_range.range)
+ {
+ Some(focus_range.range)
+ } else {
+ None
+ };
Some(NavigationTarget {
file_id: full_range.file_id,