mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-27 05:23:24 +00:00
Ignore proc-macro in completion
This commit is contained in:
parent
179d983535
commit
f78de3bb95
2 changed files with 17 additions and 0 deletions
|
@ -759,6 +759,17 @@ impl MacroDef {
|
||||||
pub fn name(self, db: &dyn HirDatabase) -> Option<Name> {
|
pub fn name(self, db: &dyn HirDatabase) -> Option<Name> {
|
||||||
self.source(db).value.name().map(|it| it.as_name())
|
self.source(db).value.name().map(|it| it.as_name())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Indicate it is a proc-macro
|
||||||
|
pub fn is_proc_macro(&self) -> bool {
|
||||||
|
match self.id.kind {
|
||||||
|
hir_expand::MacroDefKind::Declarative => false,
|
||||||
|
hir_expand::MacroDefKind::BuiltIn(_) => false,
|
||||||
|
hir_expand::MacroDefKind::BuiltInDerive(_) => false,
|
||||||
|
hir_expand::MacroDefKind::BuiltInEager(_) => false,
|
||||||
|
hir_expand::MacroDefKind::CustomDerive(_) => true,
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Invariant: `inner.as_assoc_item(db).is_some()`
|
/// Invariant: `inner.as_assoc_item(db).is_some()`
|
||||||
|
|
|
@ -156,6 +156,12 @@ impl Completions {
|
||||||
name: Option<String>,
|
name: Option<String>,
|
||||||
macro_: hir::MacroDef,
|
macro_: hir::MacroDef,
|
||||||
) {
|
) {
|
||||||
|
// FIXME: Currently proc-macro do not have ast-node,
|
||||||
|
// such that it does not have source
|
||||||
|
if macro_.is_proc_macro() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let name = match name {
|
let name = match name {
|
||||||
Some(it) => it,
|
Some(it) => it,
|
||||||
None => return,
|
None => return,
|
||||||
|
|
Loading…
Reference in a new issue