Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/syntax_highlighting/highlight.rs')
| -rw-r--r-- | crates/ide/src/syntax_highlighting/highlight.rs | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/crates/ide/src/syntax_highlighting/highlight.rs b/crates/ide/src/syntax_highlighting/highlight.rs index e92deec8b8..5fb87598f4 100644 --- a/crates/ide/src/syntax_highlighting/highlight.rs +++ b/crates/ide/src/syntax_highlighting/highlight.rs @@ -48,7 +48,7 @@ pub(super) fn token(sema: &Semantics<RootDatabase>, token: SyntaxToken) -> Optio pub(super) fn name_like( sema: &Semantics<RootDatabase>, - krate: Option<hir::Crate>, + krate: hir::Crate, bindings_shadow_count: &mut FxHashMap<hir::Name, u32>, syntactic_name_ref_highlighting: bool, name_like: ast::NameLike, @@ -192,7 +192,7 @@ fn keyword( fn highlight_name_ref( sema: &Semantics<RootDatabase>, - krate: Option<hir::Crate>, + krate: hir::Crate, bindings_shadow_count: &mut FxHashMap<hir::Name, u32>, binding_hash: &mut Option<u64>, syntactic_name_ref_highlighting: bool, @@ -278,7 +278,7 @@ fn highlight_name( sema: &Semantics<RootDatabase>, bindings_shadow_count: &mut FxHashMap<hir::Name, u32>, binding_hash: &mut Option<u64>, - krate: Option<hir::Crate>, + krate: hir::Crate, name: ast::Name, ) -> Highlight { let name_kind = NameClass::classify(sema, &name); @@ -322,11 +322,7 @@ fn calc_binding_hash(name: &hir::Name, shadow_count: u32) -> u64 { hash((name, shadow_count)) } -fn highlight_def( - sema: &Semantics<RootDatabase>, - krate: Option<hir::Crate>, - def: Definition, -) -> Highlight { +fn highlight_def(sema: &Semantics<RootDatabase>, krate: hir::Crate, def: Definition) -> Highlight { let db = sema.db; let mut h = match def { Definition::Macro(m) => Highlight::new(HlTag::Symbol(m.kind(sema.db).into())), @@ -475,7 +471,7 @@ fn highlight_def( Definition::Module(module) => Some(module.krate()), _ => None, }); - let is_from_other_crate = def_crate != krate; + let is_from_other_crate = def_crate != Some(krate); let is_from_builtin_crate = def_crate.map_or(false, |def_crate| def_crate.is_builtin(db)); let is_builtin_type = matches!(def, Definition::BuiltinType(_)); let is_public = def.visibility(db) == Some(hir::Visibility::Public); @@ -495,7 +491,7 @@ fn highlight_def( fn highlight_method_call_by_name_ref( sema: &Semantics<RootDatabase>, - krate: Option<hir::Crate>, + krate: hir::Crate, name_ref: &ast::NameRef, ) -> Option<Highlight> { let mc = name_ref.syntax().parent().and_then(ast::MethodCallExpr::cast)?; @@ -504,7 +500,7 @@ fn highlight_method_call_by_name_ref( fn highlight_method_call( sema: &Semantics<RootDatabase>, - krate: Option<hir::Crate>, + krate: hir::Crate, method_call: &ast::MethodCallExpr, ) -> Option<Highlight> { let func = sema.resolve_method_call(method_call)?; @@ -523,7 +519,7 @@ fn highlight_method_call( } let def_crate = func.module(sema.db).krate(); - let is_from_other_crate = Some(def_crate) != krate; + let is_from_other_crate = def_crate != krate; let is_from_builtin_crate = def_crate.is_builtin(sema.db); let is_public = func.visibility(sema.db) == hir::Visibility::Public; @@ -589,7 +585,7 @@ fn highlight_name_by_syntax(name: ast::Name) -> Highlight { fn highlight_name_ref_by_syntax( name: ast::NameRef, sema: &Semantics<RootDatabase>, - krate: Option<hir::Crate>, + krate: hir::Crate, ) -> Highlight { let default = HlTag::UnresolvedReference; |