diff options
| author | LastExceed <chris20194@googlemail.com> | 2024-10-16 21:39:38 +0200 |
|---|---|---|
| committer | LastExceed <chris20194@googlemail.com> | 2024-10-27 23:29:14 +0100 |
| commit | 47e5759da9a3b289935c81f4d2d1f37cdbb55a92 (patch) | |
| tree | 5abbce83da33980e47c39ad6a47516ed6edb873c /src/tools/rust-analyzer | |
| parent | 14607bae1d7fccf3ac1050b61d220c004a1f7de5 (diff) | |
| download | rust-47e5759da9a3b289935c81f4d2d1f37cdbb55a92.tar.gz rust-47e5759da9a3b289935c81f4d2d1f37cdbb55a92.zip | |
add LetStmt arm
Diffstat (limited to 'src/tools/rust-analyzer')
| -rw-r--r-- | src/tools/rust-analyzer/crates/ide/src/file_structure.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/tools/rust-analyzer/crates/ide/src/file_structure.rs b/src/tools/rust-analyzer/crates/ide/src/file_structure.rs index 92458185849..7b296b27013 100644 --- a/src/tools/rust-analyzer/crates/ide/src/file_structure.rs +++ b/src/tools/rust-analyzer/crates/ide/src/file_structure.rs @@ -187,6 +187,24 @@ fn structure_node(node: &SyntaxNode) -> Option<StructureNode> { }; Some(node) }, + ast::LetStmt(it) => { + let pat = it.pat()?; + + let mut label = String::new(); + collapse_ws(pat.syntax(), &mut label); + + let node = StructureNode { + parent: None, + label, + navigation_range: pat.syntax().text_range(), + node_range: it.syntax().text_range(), + kind: StructureNodeKind::SymbolKind(SymbolKind::Local), + detail: it.ty().map(|ty| ty.to_string()), + deprecated: false, + }; + + Some(node) + }, ast::Macro(it) => decl(it, StructureNodeKind::SymbolKind(SymbolKind::Macro)), _ => None, } |
