-fn highlight_name_ref_in_attr(sema: &Semantics<RootDatabase>, name_ref: ast::NameRef) -> Highlight {
- match NameRefClass::classify(sema, &name_ref) {
- Some(name_class) => match name_class {
- NameRefClass::Definition(Definition::Module(_))
- if name_ref
- .syntax()
- .ancestors()
- .find_map(ast::Path::cast)
- .map_or(false, |it| it.parent_path().is_some()) =>
- {
- HlTag::Symbol(SymbolKind::Module)
- }
- NameRefClass::Definition(Definition::Macro(m)) if m.kind() == hir::MacroKind::Attr => {
- HlTag::Symbol(SymbolKind::Macro)
- }
- _ => HlTag::BuiltinAttr,
- },
- None => HlTag::BuiltinAttr,
- }
- .into()
-}
-