Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/highlight_related.rs')
| -rw-r--r-- | crates/ide/src/highlight_related.rs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/crates/ide/src/highlight_related.rs b/crates/ide/src/highlight_related.rs index 67ad263fa2..6994e41c8a 100644 --- a/crates/ide/src/highlight_related.rs +++ b/crates/ide/src/highlight_related.rs @@ -9,7 +9,9 @@ use ide_db::{ use rustc_hash::FxHashSet; use syntax::{ ast::{self, LoopBodyOwner}, - match_ast, AstNode, SyntaxNode, SyntaxToken, TextRange, TextSize, T, + match_ast, AstNode, + SyntaxKind::IDENT, + SyntaxNode, SyntaxToken, TextRange, TextSize, T, }; use crate::{display::TryToNav, references, NavigationTarget}; @@ -46,9 +48,10 @@ pub(crate) fn highlight_related( let syntax = sema.parse(position.file_id).syntax().clone(); let token = pick_best_token(syntax.token_at_offset(position.offset), |kind| match kind { - T![?] => 3, // prefer `?` when the cursor is sandwiched like in `await$0?` - T![->] => 2, - kind if kind.is_keyword() => 1, + T![?] => 4, // prefer `?` when the cursor is sandwiched like in `await$0?` + T![->] => 3, + kind if kind.is_keyword() => 2, + IDENT => 1, _ => 0, })?; @@ -75,7 +78,7 @@ fn highlight_references( let defs = find_defs(sema, syntax, offset); let usages = defs .iter() - .flat_map(|&d| { + .filter_map(|&d| { d.usages(sema) .set_scope(Some(SearchScope::single_file(file_id))) .include_self_refs() |