diff --git a/crates/ide/src/syntax_highlighting/highlight.rs b/crates/ide/src/syntax_highlighting/highlight.rs index 574a144297..141536dcc8 100644 --- a/crates/ide/src/syntax_highlighting/highlight.rs +++ b/crates/ide/src/syntax_highlighting/highlight.rs @@ -303,7 +303,15 @@ fn highlight_def(db: &RootDatabase, krate: Option, def: Definition) return h; } Definition::ModuleDef(def) => match def { - hir::ModuleDef::Module(_) => HlTag::Symbol(SymbolKind::Module), + hir::ModuleDef::Module(module) => { + let mut h = Highlight::new(HlTag::Symbol(SymbolKind::Module)); + + if Some(module.krate()) != krate { + h |= HlMod::Foreign; + } + + return h; + } hir::ModuleDef::Function(func) => { let mut h = Highlight::new(HlTag::Symbol(SymbolKind::Function)); if let Some(item) = func.as_assoc_item(db) {