From 1914b7723f2f77a7259c65c888107e95f00d0ba1 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Wed, 3 Mar 2021 21:58:48 +0100 Subject: Don't complete `super` unless its valid in paths --- crates/ide_completion/src/completions/attribute.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'crates/ide_completion/src/completions/attribute.rs') diff --git a/crates/ide_completion/src/completions/attribute.rs b/crates/ide_completion/src/completions/attribute.rs index 3a5bc4381..cb05e85fc 100644 --- a/crates/ide_completion/src/completions/attribute.rs +++ b/crates/ide_completion/src/completions/attribute.rs @@ -39,7 +39,8 @@ pub(crate) fn complete_attribute(acc: &mut Completions, ctx: &CompletionContext) } fn complete_attribute_start(acc: &mut Completions, ctx: &CompletionContext, attribute: &ast::Attr) { - for attr_completion in ATTRIBUTES { + let is_inner = attribute.kind() == ast::AttrKind::Inner; + for attr_completion in ATTRIBUTES.iter().filter(|compl| is_inner || !compl.prefer_inner) { let mut item = CompletionItem::new( CompletionKind::Attribute, ctx.source_range(), -- cgit v1.2.3