mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-03 07:04:49 +00:00
fix: Prioritize tuple fields in highlight_related
This commit is contained in:
parent
4ca6233bd2
commit
4bf75c5d6e
1 changed files with 18 additions and 3 deletions
|
@ -10,7 +10,7 @@ use rustc_hash::FxHashSet;
|
|||
use syntax::{
|
||||
ast::{self, HasLoopBody},
|
||||
match_ast, AstNode,
|
||||
SyntaxKind::IDENT,
|
||||
SyntaxKind::{IDENT, INT_NUMBER},
|
||||
SyntaxNode, SyntaxToken, TextRange, T,
|
||||
};
|
||||
|
||||
|
@ -54,10 +54,9 @@ pub(crate) fn highlight_related(
|
|||
T![?] => 4, // prefer `?` when the cursor is sandwiched like in `await$0?`
|
||||
T![->] => 3,
|
||||
kind if kind.is_keyword() => 2,
|
||||
IDENT => 1,
|
||||
IDENT | INT_NUMBER => 1,
|
||||
_ => 0,
|
||||
})?;
|
||||
|
||||
match token.kind() {
|
||||
T![?] if config.exit_points && token.parent().and_then(ast::TryExpr::cast).is_some() => {
|
||||
highlight_exit_points(sema, token)
|
||||
|
@ -346,6 +345,22 @@ mod tests {
|
|||
assert_eq!(expected, actual);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_hl_tuple_fields() {
|
||||
check(
|
||||
r#"
|
||||
struct Tuple(u32, u32);
|
||||
|
||||
fn foo(t: Tuple) {
|
||||
t.0$0;
|
||||
// ^ read
|
||||
t.0;
|
||||
// ^ read
|
||||
}
|
||||
"#,
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_hl_module() {
|
||||
check(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue