Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/render/macro_.rs')
-rw-r--r--crates/ide-completion/src/render/macro_.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/crates/ide-completion/src/render/macro_.rs b/crates/ide-completion/src/render/macro_.rs
index ba18e5d216..cbf51af7cc 100644
--- a/crates/ide-completion/src/render/macro_.rs
+++ b/crates/ide-completion/src/render/macro_.rs
@@ -5,7 +5,7 @@ use ide_db::SymbolKind;
use syntax::SmolStr;
use crate::{
- context::PathKind,
+ context::{PathCompletionCtx, PathKind},
item::{Builder, CompletionItem},
render::RenderContext,
};
@@ -33,8 +33,12 @@ fn render(
let is_fn_like = macro_.is_fn_like(completion.db);
let (bra, ket) = if is_fn_like { guess_macro_braces(&name, docs_str) } else { ("", "") };
- let needs_bang =
- is_fn_like && !matches!(completion.path_kind(), Some(PathKind::Mac | PathKind::Use));
+ let needs_bang = match completion.path_context {
+ Some(PathCompletionCtx { kind, has_macro_bang, .. }) => {
+ is_fn_like && kind != Some(PathKind::Use) && !has_macro_bang
+ }
+ _ => is_fn_like,
+ };
let mut item = CompletionItem::new(
SymbolKind::from(macro_.kind(completion.db)),