aboutsummaryrefslogtreecommitdiff
path: root/crates/ide/src/syntax_highlighting.rs
diff options
context:
space:
mode:
authorLaurenČ›iu Nicola <[email protected]>2020-12-04 16:27:10 +0000
committerLaurenČ›iu Nicola <[email protected]>2020-12-04 16:27:10 +0000
commit72f013b3b9ba48d3e850cba84e91c37fbe52cc83 (patch)
treef46a25bf0cc5ebf75b92afede92323b9eab1e8d1 /crates/ide/src/syntax_highlighting.rs
parent070ecef24912910417ca723cb2f1d1b350cc79d8 (diff)
Use METHOD semantic token type
Diffstat (limited to 'crates/ide/src/syntax_highlighting.rs')
-rw-r--r--crates/ide/src/syntax_highlighting.rs15
1 files changed, 10 insertions, 5 deletions
diff --git a/crates/ide/src/syntax_highlighting.rs b/crates/ide/src/syntax_highlighting.rs
index 5150a970c..f5c6eabef 100644
--- a/crates/ide/src/syntax_highlighting.rs
+++ b/crates/ide/src/syntax_highlighting.rs
@@ -726,7 +726,7 @@ fn highlight_method_call(
726 method_call: &ast::MethodCallExpr, 726 method_call: &ast::MethodCallExpr,
727) -> Option<Highlight> { 727) -> Option<Highlight> {
728 let func = sema.resolve_method_call(&method_call)?; 728 let func = sema.resolve_method_call(&method_call)?;
729 let mut h = HighlightTag::Function.into(); 729 let mut h = HighlightTag::Method.into();
730 if func.is_unsafe(sema.db) || sema.is_unsafe_method_call(&method_call) { 730 if func.is_unsafe(sema.db) || sema.is_unsafe_method_call(&method_call) {
731 h |= HighlightModifier::Unsafe; 731 h |= HighlightModifier::Unsafe;
732 } 732 }
@@ -755,13 +755,18 @@ fn highlight_def(db: &RootDatabase, def: Definition) -> Highlight {
755 Definition::ModuleDef(def) => match def { 755 Definition::ModuleDef(def) => match def {
756 hir::ModuleDef::Module(_) => HighlightTag::Module, 756 hir::ModuleDef::Module(_) => HighlightTag::Module,
757 hir::ModuleDef::Function(func) => { 757 hir::ModuleDef::Function(func) => {
758 let mut h = HighlightTag::Function.into(); 758 let mut h = if func.as_assoc_item(db).is_some() {
759 if func.self_param(db).is_none() {
760 Highlight::from(HighlightTag::Method) | HighlightModifier::Static
761 } else {
762 HighlightTag::Method.into()
763 }
764 } else {
765 HighlightTag::Function.into()
766 };
759 if func.is_unsafe(db) { 767 if func.is_unsafe(db) {
760 h |= HighlightModifier::Unsafe; 768 h |= HighlightModifier::Unsafe;
761 } 769 }
762 if func.as_assoc_item(db).is_some() && func.self_param(db).is_none() {
763 h |= HighlightModifier::Static;
764 }
765 return h; 770 return h;
766 } 771 }
767 hir::ModuleDef::Adt(hir::Adt::Struct(_)) => HighlightTag::Struct, 772 hir::ModuleDef::Adt(hir::Adt::Struct(_)) => HighlightTag::Struct,