8431: 8024: Added the trait highlight modifier for assoc types. r=Veykril a=chetankhilosiya



Co-authored-by: Chetan Khilosiya <chetan.khilosiya@gmail.com>
This commit is contained in:
bors[bot] 2021-04-08 19:47:54 +00:00 committed by GitHub
commit 63726a91b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -323,8 +323,18 @@ fn highlight_def(db: &RootDatabase, def: Definition) -> Highlight {
hir::ModuleDef::Trait(_) => HlTag::Symbol(SymbolKind::Trait), hir::ModuleDef::Trait(_) => HlTag::Symbol(SymbolKind::Trait),
hir::ModuleDef::TypeAlias(type_) => { hir::ModuleDef::TypeAlias(type_) => {
let mut h = Highlight::new(HlTag::Symbol(SymbolKind::TypeAlias)); let mut h = Highlight::new(HlTag::Symbol(SymbolKind::TypeAlias));
if type_.as_assoc_item(db).is_some() { if let Some(item) = type_.as_assoc_item(db) {
h |= HlMod::Associated 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; return h;
} }