Skip to content

Commit 02e9440

Browse files
committed
Complete while let
1 parent 1914b77 commit 02e9440

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

crates/ide_completion/src/completions/keyword.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ pub(crate) fn complete_expr_keyword(acc: &mut Completions, ctx: &CompletionConte
9191
if ctx.is_expr {
9292
add_keyword(ctx, acc, "match", "match $0 {}");
9393
add_keyword(ctx, acc, "while", "while $0 {}");
94+
add_keyword(ctx, acc, "while let", "while let $1 = $0 {}");
9495
add_keyword(ctx, acc, "loop", "loop {$0}");
9596
add_keyword(ctx, acc, "if", "if $0 {}");
9697
add_keyword(ctx, acc, "if let", "if let $1 = $0 {}");
@@ -269,6 +270,7 @@ mod tests {
269270
kw trait
270271
kw match
271272
kw while
273+
kw while let
272274
kw loop
273275
kw if
274276
kw if let
@@ -296,6 +298,7 @@ mod tests {
296298
kw trait
297299
kw match
298300
kw while
301+
kw while let
299302
kw loop
300303
kw if
301304
kw if let
@@ -323,6 +326,7 @@ mod tests {
323326
kw trait
324327
kw match
325328
kw while
329+
kw while let
326330
kw loop
327331
kw if
328332
kw if let
@@ -357,6 +361,7 @@ fn quux() -> i32 {
357361
expect![[r#"
358362
kw match
359363
kw while
364+
kw while let
360365
kw loop
361366
kw if
362367
kw if let
@@ -406,6 +411,7 @@ fn quux() -> i32 {
406411
kw trait
407412
kw match
408413
kw while
414+
kw while let
409415
kw loop
410416
kw if
411417
kw if let
@@ -565,6 +571,7 @@ pub mod future {
565571
expect![[r#"
566572
kw match
567573
kw while
574+
kw while let
568575
kw loop
569576
kw if
570577
kw if let
@@ -624,6 +631,7 @@ fn foo() {
624631
expect![[r#"
625632
kw match
626633
kw while
634+
kw while let
627635
kw loop
628636
kw if
629637
kw if let

crates/ide_completion/src/completions/qualified_path.rs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,7 @@ pub(crate) fn complete_qualified_path(acc: &mut Completions, ctx: &CompletionCon
8181
return None;
8282
}
8383
match item {
84-
hir::AssocItem::Function(func) => {
85-
acc.add_function(ctx, func, None);
86-
}
84+
hir::AssocItem::Function(func) => acc.add_function(ctx, func, None),
8785
hir::AssocItem::Const(ct) => acc.add_const(ctx, ct),
8886
hir::AssocItem::TypeAlias(ty) => acc.add_type_alias(ctx, ty),
8987
}
@@ -110,9 +108,7 @@ pub(crate) fn complete_qualified_path(acc: &mut Completions, ctx: &CompletionCon
110108
continue;
111109
}
112110
match item {
113-
hir::AssocItem::Function(func) => {
114-
acc.add_function(ctx, func, None);
115-
}
111+
hir::AssocItem::Function(func) => acc.add_function(ctx, func, None),
116112
hir::AssocItem::Const(ct) => acc.add_const(ctx, ct),
117113
hir::AssocItem::TypeAlias(ty) => acc.add_type_alias(ctx, ty),
118114
}
@@ -143,9 +139,7 @@ pub(crate) fn complete_qualified_path(acc: &mut Completions, ctx: &CompletionCon
143139
// them.
144140
if seen.insert(item) {
145141
match item {
146-
hir::AssocItem::Function(func) => {
147-
acc.add_function(ctx, func, None);
148-
}
142+
hir::AssocItem::Function(func) => acc.add_function(ctx, func, None),
149143
hir::AssocItem::Const(ct) => acc.add_const(ctx, ct),
150144
hir::AssocItem::TypeAlias(ty) => acc.add_type_alias(ctx, ty),
151145
}

0 commit comments

Comments
 (0)