Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/syntax_highlighting/macro_.rs')
-rw-r--r--crates/ide/src/syntax_highlighting/macro_.rs15
1 files changed, 7 insertions, 8 deletions
diff --git a/crates/ide/src/syntax_highlighting/macro_.rs b/crates/ide/src/syntax_highlighting/macro_.rs
index 7f2d61a0bd..1099d9c23b 100644
--- a/crates/ide/src/syntax_highlighting/macro_.rs
+++ b/crates/ide/src/syntax_highlighting/macro_.rs
@@ -1,5 +1,5 @@
//! Syntax highlighting for macro_rules!.
-use syntax::{SyntaxElement, SyntaxKind, SyntaxToken, TextRange, T};
+use syntax::{SyntaxKind, SyntaxToken, TextRange, T};
use crate::{HlRange, HlTag};
@@ -19,10 +19,10 @@ impl MacroHighlighter {
}
}
- pub(super) fn highlight(&self, element: &SyntaxElement) -> Option<HlRange> {
+ pub(super) fn highlight(&self, token: &SyntaxToken) -> Option<HlRange> {
if let Some(state) = self.state.as_ref() {
if matches!(state.rule_state, RuleState::Matcher | RuleState::Expander) {
- if let Some(range) = is_metavariable(element) {
+ if let Some(range) = is_metavariable(token) {
return Some(HlRange {
range,
highlight: HlTag::UnresolvedReference.into(),
@@ -115,12 +115,11 @@ fn update_macro_state(state: &mut MacroMatcherParseState, tok: &SyntaxToken) {
}
}
-fn is_metavariable(element: &SyntaxElement) -> Option<TextRange> {
- let tok = element.as_token()?;
- match tok.kind() {
+fn is_metavariable(token: &SyntaxToken) -> Option<TextRange> {
+ match token.kind() {
kind if kind == SyntaxKind::IDENT || kind.is_keyword() => {
- if let Some(_dollar) = tok.prev_token().filter(|t| t.kind() == T![$]) {
- return Some(tok.text_range());
+ if let Some(_dollar) = token.prev_token().filter(|t| t.kind() == T![$]) {
+ return Some(token.text_range());
}
}
_ => (),