8024: Added the trait modifier for assoc types.

This commit is contained in:
Chetan Khilosiya 2021-04-09 01:00:35 +05:30
parent 51e5316de5
commit 4a9dd149aa

View File

@ -323,8 +323,18 @@ fn highlight_def(db: &RootDatabase, def: Definition) -> Highlight {
hir::ModuleDef::Trait(_) => HlTag::Symbol(SymbolKind::Trait),
hir::ModuleDef::TypeAlias(type_) => {
let mut h = Highlight::new(HlTag::Symbol(SymbolKind::TypeAlias));
if type_.as_assoc_item(db).is_some() {
h |= HlMod::Associated
if let Some(item) = type_.as_assoc_item(db) {
h |= HlMod::Associated;
match item.container(db) {
AssocItemContainer::Impl(i) => {
if i.trait_(db).is_some() {
h |= HlMod::Trait;
}
}
AssocItemContainer::Trait(_t) => {
h |= HlMod::Trait;
}
}
}
return h;
}