diff options
| author | Tongjun Gao <natural_selection_@outlook.com> | 2025-03-04 11:50:11 +0800 |
|---|---|---|
| committer | Tongjun Gao <natural_selection_@outlook.com> | 2025-03-04 11:50:11 +0800 |
| commit | 0d6dfc80316ebe20570ea1ecccd8981d82d22610 (patch) | |
| tree | 464ac56da3b67a0eb627a581e084c081fa0fe786 | |
| parent | d137fee54236b378315da97453e9eb3c1d302387 (diff) | |
| download | rust-0d6dfc80316ebe20570ea1ecccd8981d82d22610.tar.gz rust-0d6dfc80316ebe20570ea1ecccd8981d82d22610.zip | |
Improve keyword completion for 'let' and 'let mut'
| -rw-r--r-- | src/tools/rust-analyzer/crates/ide-completion/src/completions/expr.rs | 3 | ||||
| -rw-r--r-- | src/tools/rust-analyzer/crates/ide-completion/src/completions/keyword.rs | 30 |
2 files changed, 32 insertions, 1 deletions
diff --git a/src/tools/rust-analyzer/crates/ide-completion/src/completions/expr.rs b/src/tools/rust-analyzer/crates/ide-completion/src/completions/expr.rs index 365d2dde7e9..bb7eb6feab9 100644 --- a/src/tools/rust-analyzer/crates/ide-completion/src/completions/expr.rs +++ b/src/tools/rust-analyzer/crates/ide-completion/src/completions/expr.rs @@ -365,7 +365,8 @@ pub(crate) fn complete_expr_path( add_keyword("false", "false"); if in_condition || in_block_expr { - add_keyword("let", "let"); + add_keyword("let mut", "let mut $0"); + add_keyword("let", "let $0"); } if after_if_expr { diff --git a/src/tools/rust-analyzer/crates/ide-completion/src/completions/keyword.rs b/src/tools/rust-analyzer/crates/ide-completion/src/completions/keyword.rs index 6541ee502d8..0a05cf67bd0 100644 --- a/src/tools/rust-analyzer/crates/ide-completion/src/completions/keyword.rs +++ b/src/tools/rust-analyzer/crates/ide-completion/src/completions/keyword.rs @@ -330,4 +330,34 @@ fn main() { ", ) } + + #[test] + fn completes_let_with_space() { + check_edit( + "let", + r#" +fn main() { + $0 +} +"#, + r#" +fn main() { + let $0 +} +"#, + ); + check_edit( + "let mut", + r#" +fn main() { + $0 +} +"#, + r#" +fn main() { + let mut $0 +} +"#, + ); + } } |
