From 1fd232cd696cfb2c25cb8ecb14cb5641563edda7 Mon Sep 17 00:00:00 2001 From: Jonas Schievink Date: Thu, 14 Apr 2022 18:39:27 +0200 Subject: [PATCH] Enable ADT keyword completions in block expression --- crates/ide_completion/src/completions/keyword.rs | 2 +- crates/ide_completion/src/tests/expression.rs | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/crates/ide_completion/src/completions/keyword.rs b/crates/ide_completion/src/completions/keyword.rs index ac782352fc..51405e3523 100644 --- a/crates/ide_completion/src/completions/keyword.rs +++ b/crates/ide_completion/src/completions/keyword.rs @@ -86,7 +86,7 @@ pub(crate) fn complete_expr_keyword(acc: &mut Completions, ctx: &CompletionConte add_keyword("mod", "mod $0"); } - if expects_item { + if expects_item || has_block_expr_parent { add_keyword("enum", "enum $1 {\n $0\n}"); add_keyword("struct", "struct $0"); add_keyword("union", "union $1 {\n $0\n}"); diff --git a/crates/ide_completion/src/tests/expression.rs b/crates/ide_completion/src/tests/expression.rs index de283c705d..f1950235d4 100644 --- a/crates/ide_completion/src/tests/expression.rs +++ b/crates/ide_completion/src/tests/expression.rs @@ -137,6 +137,9 @@ impl Unit { kw trait kw static kw mod + kw enum + kw struct + kw union kw match kw while kw while let @@ -227,6 +230,9 @@ fn complete_in_block() { kw trait kw static kw mod + kw enum + kw struct + kw union kw match kw while kw while let @@ -269,6 +275,9 @@ fn complete_after_if_expr() { kw trait kw static kw mod + kw enum + kw struct + kw union kw match kw while kw while let @@ -339,6 +348,9 @@ fn completes_in_loop_ctx() { kw trait kw static kw mod + kw enum + kw struct + kw union kw match kw while kw while let