Unnamed repository; edit this file 'description' to name the repository.
Improve keyword completion for 'let' and 'let mut'
Tongjun Gao 2025-03-04
parent 02862f5 · commit 0b9dbe7
-rw-r--r--crates/ide-completion/src/completions/expr.rs3
-rw-r--r--crates/ide-completion/src/completions/keyword.rs30
2 files changed, 32 insertions, 1 deletions
diff --git a/crates/ide-completion/src/completions/expr.rs b/crates/ide-completion/src/completions/expr.rs
index 365d2dde7e..bb7eb6feab 100644
--- a/crates/ide-completion/src/completions/expr.rs
+++ b/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/crates/ide-completion/src/completions/keyword.rs b/crates/ide-completion/src/completions/keyword.rs
index 6541ee502d..0a05cf67bd 100644
--- a/crates/ide-completion/src/completions/keyword.rs
+++ b/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
+}
+"#,
+ );
+ }
}