diff options
-rw-r--r-- | crates/ide/src/syntax_highlighting.rs | 3 | ||||
-rw-r--r-- | crates/ide/src/syntax_highlighting/tags.rs | 3 | ||||
-rw-r--r-- | crates/rust-analyzer/src/semantic_tokens.rs | 1 | ||||
-rw-r--r-- | crates/rust-analyzer/src/to_proto.rs | 1 |
4 files changed, 8 insertions, 0 deletions
diff --git a/crates/ide/src/syntax_highlighting.rs b/crates/ide/src/syntax_highlighting.rs index b35c03162..3982838d5 100644 --- a/crates/ide/src/syntax_highlighting.rs +++ b/crates/ide/src/syntax_highlighting.rs | |||
@@ -763,6 +763,9 @@ fn highlight_def(db: &RootDatabase, def: Definition) -> Highlight { | |||
763 | if local.is_mut(db) || local.ty(db).is_mutable_reference() { | 763 | if local.is_mut(db) || local.ty(db).is_mutable_reference() { |
764 | h |= HighlightModifier::Mutable; | 764 | h |= HighlightModifier::Mutable; |
765 | } | 765 | } |
766 | if local.ty(db).as_callable(db).is_some() { | ||
767 | h |= HighlightModifier::Callable; | ||
768 | } | ||
766 | return h; | 769 | return h; |
767 | } | 770 | } |
768 | } | 771 | } |
diff --git a/crates/ide/src/syntax_highlighting/tags.rs b/crates/ide/src/syntax_highlighting/tags.rs index c1b817f06..e8f78ad52 100644 --- a/crates/ide/src/syntax_highlighting/tags.rs +++ b/crates/ide/src/syntax_highlighting/tags.rs | |||
@@ -64,6 +64,7 @@ pub enum HighlightModifier { | |||
64 | Mutable, | 64 | Mutable, |
65 | Consuming, | 65 | Consuming, |
66 | Unsafe, | 66 | Unsafe, |
67 | Callable, | ||
67 | } | 68 | } |
68 | 69 | ||
69 | impl HighlightTag { | 70 | impl HighlightTag { |
@@ -122,6 +123,7 @@ impl HighlightModifier { | |||
122 | HighlightModifier::Mutable, | 123 | HighlightModifier::Mutable, |
123 | HighlightModifier::Consuming, | 124 | HighlightModifier::Consuming, |
124 | HighlightModifier::Unsafe, | 125 | HighlightModifier::Unsafe, |
126 | HighlightModifier::Callable, | ||
125 | ]; | 127 | ]; |
126 | 128 | ||
127 | fn as_str(self) -> &'static str { | 129 | fn as_str(self) -> &'static str { |
@@ -134,6 +136,7 @@ impl HighlightModifier { | |||
134 | HighlightModifier::Mutable => "mutable", | 136 | HighlightModifier::Mutable => "mutable", |
135 | HighlightModifier::Consuming => "consuming", | 137 | HighlightModifier::Consuming => "consuming", |
136 | HighlightModifier::Unsafe => "unsafe", | 138 | HighlightModifier::Unsafe => "unsafe", |
139 | HighlightModifier::Callable => "callable", | ||
137 | } | 140 | } |
138 | } | 141 | } |
139 | 142 | ||
diff --git a/crates/rust-analyzer/src/semantic_tokens.rs b/crates/rust-analyzer/src/semantic_tokens.rs index a6c4d6099..7df28c9dd 100644 --- a/crates/rust-analyzer/src/semantic_tokens.rs +++ b/crates/rust-analyzer/src/semantic_tokens.rs | |||
@@ -77,6 +77,7 @@ define_semantic_token_modifiers![ | |||
77 | (CONSUMING, "consuming"), | 77 | (CONSUMING, "consuming"), |
78 | (UNSAFE, "unsafe"), | 78 | (UNSAFE, "unsafe"), |
79 | (ATTRIBUTE_MODIFIER, "attribute"), | 79 | (ATTRIBUTE_MODIFIER, "attribute"), |
80 | (CALLABLE, "callable"), | ||
80 | ]; | 81 | ]; |
81 | 82 | ||
82 | #[derive(Default)] | 83 | #[derive(Default)] |
diff --git a/crates/rust-analyzer/src/to_proto.rs b/crates/rust-analyzer/src/to_proto.rs index aeacde0f7..1a0b435bf 100644 --- a/crates/rust-analyzer/src/to_proto.rs +++ b/crates/rust-analyzer/src/to_proto.rs | |||
@@ -408,6 +408,7 @@ fn semantic_token_type_and_modifiers( | |||
408 | HighlightModifier::Mutable => semantic_tokens::MUTABLE, | 408 | HighlightModifier::Mutable => semantic_tokens::MUTABLE, |
409 | HighlightModifier::Consuming => semantic_tokens::CONSUMING, | 409 | HighlightModifier::Consuming => semantic_tokens::CONSUMING, |
410 | HighlightModifier::Unsafe => semantic_tokens::UNSAFE, | 410 | HighlightModifier::Unsafe => semantic_tokens::UNSAFE, |
411 | HighlightModifier::Callable => semantic_tokens::CALLABLE, | ||
411 | }; | 412 | }; |
412 | mods |= modifier; | 413 | mods |= modifier; |
413 | } | 414 | } |