From 9b4ca77572c4cfa71f51fef052ef0aa3cc8d6d19 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Sun, 5 Dec 2021 11:59:07 +0100 Subject: [PATCH] fix: Add highlighting hack back for unresolved attributes --- crates/ide/src/syntax_highlighting/highlight.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/crates/ide/src/syntax_highlighting/highlight.rs b/crates/ide/src/syntax_highlighting/highlight.rs index 88c469df2655..a52b2247c5ab 100644 --- a/crates/ide/src/syntax_highlighting/highlight.rs +++ b/crates/ide/src/syntax_highlighting/highlight.rs @@ -262,6 +262,13 @@ fn highlight_name_ref( None if name_ref.self_token().is_some() && is_in_fn_with_self_param(&name_ref) => { return SymbolKind::SelfParam.into() } + // FIXME: This is required for helper attributes used by proc-macros, as those do not map down + // to anything when used. + // We can fix this for derive attributes since derive helpers are recorded, but not for + // general attributes. + None if name_ref.syntax().ancestors().any(|it| it.kind() == ATTR) => { + return HlTag::Symbol(SymbolKind::Attribute).into(); + } None => return HlTag::UnresolvedReference.into(), }; let mut h = match name_class {