File tree Expand file tree Collapse file tree 2 files changed +17
-0
lines changed Expand file tree Collapse file tree 2 files changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -759,6 +759,17 @@ impl MacroDef {
759
759
pub fn name ( self , db : & dyn HirDatabase ) -> Option < Name > {
760
760
self . source ( db) . value . name ( ) . map ( |it| it. as_name ( ) )
761
761
}
762
+
763
+ /// Indicate it is a proc-macro
764
+ pub fn is_proc_macro ( & self ) -> bool {
765
+ match self . id . kind {
766
+ hir_expand:: MacroDefKind :: Declarative => false ,
767
+ hir_expand:: MacroDefKind :: BuiltIn ( _) => false ,
768
+ hir_expand:: MacroDefKind :: BuiltInDerive ( _) => false ,
769
+ hir_expand:: MacroDefKind :: BuiltInEager ( _) => false ,
770
+ hir_expand:: MacroDefKind :: CustomDerive ( _) => true ,
771
+ }
772
+ }
762
773
}
763
774
764
775
/// Invariant: `inner.as_assoc_item(db).is_some()`
Original file line number Diff line number Diff line change @@ -156,6 +156,12 @@ impl Completions {
156
156
name : Option < String > ,
157
157
macro_ : hir:: MacroDef ,
158
158
) {
159
+ // FIXME: Currently proc-macro do not have ast-node,
160
+ // such that it does not have source
161
+ if macro_. is_proc_macro ( ) {
162
+ return ;
163
+ }
164
+
159
165
let name = match name {
160
166
Some ( it) => it,
161
167
None => return ,
You can’t perform that action at this time.
0 commit comments