]> git.lizzy.rs Git - rust.git/commitdiff
Complete `while let`
authorLukas Wirth <lukastw97@gmail.com>
Wed, 3 Mar 2021 20:59:41 +0000 (21:59 +0100)
committerLukas Wirth <lukastw97@gmail.com>
Wed, 3 Mar 2021 22:04:11 +0000 (23:04 +0100)
crates/ide_completion/src/completions/keyword.rs
crates/ide_completion/src/completions/qualified_path.rs

index 17bd19522fb2571c07e99cf44c35f6c526115581..03c6dd4547699d3c0d263f2140e871e824156c50 100644 (file)
@@ -91,6 +91,7 @@ pub(crate) fn complete_expr_keyword(acc: &mut Completions, ctx: &CompletionConte
     if ctx.is_expr {
         add_keyword(ctx, acc, "match", "match $0 {}");
         add_keyword(ctx, acc, "while", "while $0 {}");
+        add_keyword(ctx, acc, "while let", "while let $1 = $0 {}");
         add_keyword(ctx, acc, "loop", "loop {$0}");
         add_keyword(ctx, acc, "if", "if $0 {}");
         add_keyword(ctx, acc, "if let", "if let $1 = $0 {}");
@@ -269,6 +270,7 @@ fn test_keywords_in_function() {
                 kw trait
                 kw match
                 kw while
+                kw while let
                 kw loop
                 kw if
                 kw if let
@@ -296,6 +298,7 @@ fn test_keywords_inside_block() {
                 kw trait
                 kw match
                 kw while
+                kw while let
                 kw loop
                 kw if
                 kw if let
@@ -323,6 +326,7 @@ fn test_keywords_after_if() {
                 kw trait
                 kw match
                 kw while
+                kw while let
                 kw loop
                 kw if
                 kw if let
@@ -357,6 +361,7 @@ fn quux() -> i32 {
             expect![[r#"
                 kw match
                 kw while
+                kw while let
                 kw loop
                 kw if
                 kw if let
@@ -406,6 +411,7 @@ fn test_keywords_in_loop() {
                 kw trait
                 kw match
                 kw while
+                kw while let
                 kw loop
                 kw if
                 kw if let
@@ -565,6 +571,7 @@ fn after_let() {
             expect![[r#"
                 kw match
                 kw while
+                kw while let
                 kw loop
                 kw if
                 kw if let
@@ -624,6 +631,7 @@ fn foo() {
             expect![[r#"
                 kw match
                 kw while
+                kw while let
                 kw loop
                 kw if
                 kw if let
index 2afa6979efc12cd840ec9477fef1b5e6dc8f5bb2..72fb757b1687c471e690dcc706dde63c3b4933f1 100644 (file)
@@ -81,9 +81,7 @@ pub(crate) fn complete_qualified_path(acc: &mut Completions, ctx: &CompletionCon
                         return None;
                     }
                     match item {
-                        hir::AssocItem::Function(func) => {
-                            acc.add_function(ctx, func, None);
-                        }
+                        hir::AssocItem::Function(func) => acc.add_function(ctx, func, None),
                         hir::AssocItem::Const(ct) => acc.add_const(ctx, ct),
                         hir::AssocItem::TypeAlias(ty) => acc.add_type_alias(ctx, ty),
                     }
@@ -110,9 +108,7 @@ pub(crate) fn complete_qualified_path(acc: &mut Completions, ctx: &CompletionCon
                     continue;
                 }
                 match item {
-                    hir::AssocItem::Function(func) => {
-                        acc.add_function(ctx, func, None);
-                    }
+                    hir::AssocItem::Function(func) => acc.add_function(ctx, func, None),
                     hir::AssocItem::Const(ct) => acc.add_const(ctx, ct),
                     hir::AssocItem::TypeAlias(ty) => acc.add_type_alias(ctx, ty),
                 }
@@ -143,9 +139,7 @@ pub(crate) fn complete_qualified_path(acc: &mut Completions, ctx: &CompletionCon
                     // them.
                     if seen.insert(item) {
                         match item {
-                            hir::AssocItem::Function(func) => {
-                                acc.add_function(ctx, func, None);
-                            }
+                            hir::AssocItem::Function(func) => acc.add_function(ctx, func, None),
                             hir::AssocItem::Const(ct) => acc.add_const(ctx, ct),
                             hir::AssocItem::TypeAlias(ty) => acc.add_type_alias(ctx, ty),
                         }