From 02e9440e2332beab2647bf61491c788ab84aa4df Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Wed, 3 Mar 2021 21:59:41 +0100 Subject: Complete `while let` --- crates/ide_completion/src/completions/keyword.rs | 8 ++++++++ crates/ide_completion/src/completions/qualified_path.rs | 12 +++--------- 2 files changed, 11 insertions(+), 9 deletions(-) (limited to 'crates/ide_completion') diff --git a/crates/ide_completion/src/completions/keyword.rs b/crates/ide_completion/src/completions/keyword.rs index 17bd19522..03c6dd454 100644 --- a/crates/ide_completion/src/completions/keyword.rs +++ b/crates/ide_completion/src/completions/keyword.rs @@ -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 @@ mod tests { kw trait kw match kw while + kw while let kw loop kw if kw if let @@ -296,6 +298,7 @@ mod tests { kw trait kw match kw while + kw while let kw loop kw if kw if let @@ -323,6 +326,7 @@ mod tests { 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 quux() -> i32 { kw trait kw match kw while + kw while let kw loop kw if kw if let @@ -565,6 +571,7 @@ pub mod future { 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 diff --git a/crates/ide_completion/src/completions/qualified_path.rs b/crates/ide_completion/src/completions/qualified_path.rs index 2afa6979e..72fb757b1 100644 --- a/crates/ide_completion/src/completions/qualified_path.rs +++ b/crates/ide_completion/src/completions/qualified_path.rs @@ -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), } -- cgit v1.2.3