From ef8f38efc658270d55f438fc1a23c355ee0f4481 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 9 Feb 2021 18:21:09 +0300 Subject: More precise navigation to parent --- crates/ide/src/display/navigation_target.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'crates/ide/src/display') diff --git a/crates/ide/src/display/navigation_target.rs b/crates/ide/src/display/navigation_target.rs index 23d885218..198243466 100644 --- a/crates/ide/src/display/navigation_target.rs +++ b/crates/ide/src/display/navigation_target.rs @@ -85,12 +85,16 @@ impl NavigationTarget { let name = module.name(db).map(|it| it.to_string().into()).unwrap_or_default(); if let Some(src) = module.declaration_source(db) { let node = src.as_ref().map(|it| it.syntax()); - let frange = node.original_file_range(db); + let full_range = node.original_file_range(db); + let focus_range = src + .value + .name() + .map(|name| src.with_value(name.syntax()).original_file_range(db).range); let mut res = NavigationTarget::from_syntax( - frange.file_id, + full_range.file_id, name, - None, - frange.range, + focus_range, + full_range.range, SymbolKind::Module, ); res.docs = module.attrs(db).docs(); -- cgit v1.2.3