From 05729fd3c4aa542d162b54e7352c0d4bade62684 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sun, 28 Feb 2021 14:12:11 +0300 Subject: For unresolved macros, hightlight only the last segment --- crates/hir_def/src/nameres.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'crates/hir_def/src/nameres.rs') diff --git a/crates/hir_def/src/nameres.rs b/crates/hir_def/src/nameres.rs index f92232eb3..6a3456f2e 100644 --- a/crates/hir_def/src/nameres.rs +++ b/crates/hir_def/src/nameres.rs @@ -417,6 +417,8 @@ mod diagnostics { UnresolvedProcMacro { ast: MacroCallKind }, + UnresolvedMacroCall { ast: AstId }, + MacroError { ast: MacroCallKind, message: String }, } @@ -477,6 +479,13 @@ mod diagnostics { Self { in_module: container, kind: DiagnosticKind::MacroError { ast, message } } } + pub(super) fn unresolved_macro_call( + container: LocalModuleId, + ast: AstId, + ) -> Self { + Self { in_module: container, kind: DiagnosticKind::UnresolvedMacroCall { ast } } + } + pub(super) fn add_to( &self, db: &dyn DefDatabase, @@ -589,6 +598,11 @@ mod diagnostics { }); } + DiagnosticKind::UnresolvedMacroCall { ast } => { + let node = ast.to_node(db.upcast()); + sink.push(UnresolvedMacroCall { file: ast.file_id, node: AstPtr::new(&node) }); + } + DiagnosticKind::MacroError { ast, message } => { let (file, ast) = match ast { MacroCallKind::FnLike(ast) => { -- cgit v1.2.3