From 51419c193162b80607d3f738bf5fb50156ad07f9 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Tue, 11 Jan 2022 19:03:21 +0100 Subject: [PATCH] Don't complete attributes with existing expressions --- crates/ide_completion/src/completions/attribute.rs | 1 + crates/ide_completion/src/tests/attribute.rs | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/crates/ide_completion/src/completions/attribute.rs b/crates/ide_completion/src/completions/attribute.rs index f67d7d56d8..2603ad2003 100644 --- a/crates/ide_completion/src/completions/attribute.rs +++ b/crates/ide_completion/src/completions/attribute.rs @@ -56,6 +56,7 @@ pub(crate) fn complete_attribute(acc: &mut Completions, ctx: &CompletionContext) _ => (), }, (_, Some(_)) => (), + (_, None) if attribute.expr().is_some() => (), (_, None) => complete_new_attribute(acc, ctx, attribute), } Some(()) diff --git a/crates/ide_completion/src/tests/attribute.rs b/crates/ide_completion/src/tests/attribute.rs index c2bd26e2d8..2d2a1b867a 100644 --- a/crates/ide_completion/src/tests/attribute.rs +++ b/crates/ide_completion/src/tests/attribute.rs @@ -40,6 +40,19 @@ struct Foo; ) } +#[test] +fn proc_macros_on_comment() { + check( + r#" +//- proc_macros: identity +/// $0 +#[proc_macros::identity] +struct Foo; +"#, + expect![[r#""#]], + ) +} + #[test] fn proc_macros_qualified() { check(