diff options
author | Lukas Wirth <[email protected]> | 2021-06-17 14:54:59 +0100 |
---|---|---|
committer | Lukas Wirth <[email protected]> | 2021-06-17 15:02:51 +0100 |
commit | 2ac03ef1d6536955fb53baf25b9777e2a5176837 (patch) | |
tree | bb2c358a05ded61ee043b0b2271877e5ac8ac716 | |
parent | 2a48b532208de413e4e5d39e81c33a4644ecaa22 (diff) |
Don't complete keywords in attributes inside expressions
-rw-r--r-- | crates/ide_completion/src/completions/attribute.rs | 3 | ||||
-rw-r--r-- | crates/ide_completion/src/completions/keyword.rs | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/crates/ide_completion/src/completions/attribute.rs b/crates/ide_completion/src/completions/attribute.rs index f3b11e72d..ab24a6521 100644 --- a/crates/ide_completion/src/completions/attribute.rs +++ b/crates/ide_completion/src/completions/attribute.rs | |||
@@ -786,13 +786,13 @@ mod tests { | |||
786 | at target_feature = "…" | 786 | at target_feature = "…" |
787 | at test | 787 | at test |
788 | at track_caller | 788 | at track_caller |
789 | kw return | ||
790 | "#]], | 789 | "#]], |
791 | ); | 790 | ); |
792 | } | 791 | } |
793 | 792 | ||
794 | #[test] | 793 | #[test] |
795 | fn complete_attribute_on_expr() { | 794 | fn complete_attribute_on_expr() { |
795 | cov_mark::check!(no_keyword_completion_in_attr_of_expr); | ||
796 | check( | 796 | check( |
797 | r#"fn main() { #[$0] foo() }"#, | 797 | r#"fn main() { #[$0] foo() }"#, |
798 | expect![[r#" | 798 | expect![[r#" |
@@ -802,7 +802,6 @@ mod tests { | |||
802 | at deny(…) | 802 | at deny(…) |
803 | at forbid(…) | 803 | at forbid(…) |
804 | at warn(…) | 804 | at warn(…) |
805 | kw return | ||
806 | "#]], | 805 | "#]], |
807 | ); | 806 | ); |
808 | } | 807 | } |
diff --git a/crates/ide_completion/src/completions/keyword.rs b/crates/ide_completion/src/completions/keyword.rs index c99fdef05..07541c79c 100644 --- a/crates/ide_completion/src/completions/keyword.rs +++ b/crates/ide_completion/src/completions/keyword.rs | |||
@@ -48,6 +48,10 @@ pub(crate) fn complete_expr_keyword(acc: &mut Completions, ctx: &CompletionConte | |||
48 | cov_mark::hit!(no_keyword_completion_in_record_lit); | 48 | cov_mark::hit!(no_keyword_completion_in_record_lit); |
49 | return; | 49 | return; |
50 | } | 50 | } |
51 | if ctx.attribute_under_caret.is_some() { | ||
52 | cov_mark::hit!(no_keyword_completion_in_attr_of_expr); | ||
53 | return; | ||
54 | } | ||
51 | 55 | ||
52 | // Suggest .await syntax for types that implement Future trait | 56 | // Suggest .await syntax for types that implement Future trait |
53 | if let Some(receiver) = ctx.dot_receiver() { | 57 | if let Some(receiver) = ctx.dot_receiver() { |