Add HighlightModifier::Callable and add it for locals

This commit is contained in:
GrayJack 2020-10-16 06:38:32 -03:00
parent 0d45802d67
commit 83d6bc7113
No known key found for this signature in database
GPG Key ID: 12C54E04AAB9931E
4 changed files with 8 additions and 0 deletions

View File

@ -763,6 +763,9 @@ fn highlight_def(db: &RootDatabase, def: Definition) -> Highlight {
if local.is_mut(db) || local.ty(db).is_mutable_reference() {
h |= HighlightModifier::Mutable;
}
if local.ty(db).as_callable(db).is_some() {
h |= HighlightModifier::Callable;
}
return h;
}
}

View File

@ -64,6 +64,7 @@ pub enum HighlightModifier {
Mutable,
Consuming,
Unsafe,
Callable,
}
impl HighlightTag {
@ -122,6 +123,7 @@ impl HighlightModifier {
HighlightModifier::Mutable,
HighlightModifier::Consuming,
HighlightModifier::Unsafe,
HighlightModifier::Callable,
];
fn as_str(self) -> &'static str {
@ -134,6 +136,7 @@ impl HighlightModifier {
HighlightModifier::Mutable => "mutable",
HighlightModifier::Consuming => "consuming",
HighlightModifier::Unsafe => "unsafe",
HighlightModifier::Callable => "callable",
}
}

View File

@ -77,6 +77,7 @@ define_semantic_token_modifiers![
(CONSUMING, "consuming"),
(UNSAFE, "unsafe"),
(ATTRIBUTE_MODIFIER, "attribute"),
(CALLABLE, "callable"),
];
#[derive(Default)]

View File

@ -408,6 +408,7 @@ fn semantic_token_type_and_modifiers(
HighlightModifier::Mutable => semantic_tokens::MUTABLE,
HighlightModifier::Consuming => semantic_tokens::CONSUMING,
HighlightModifier::Unsafe => semantic_tokens::UNSAFE,
HighlightModifier::Callable => semantic_tokens::CALLABLE,
};
mods |= modifier;
}