add support for @,_,* tokens

This commit is contained in:
Luke Boswell 2023-03-12 17:01:05 +11:00
parent 5a0a7289ba
commit 1e26769313
No known key found for this signature in database
GPG key ID: F6DB3C9DB47377B0
2 changed files with 22 additions and 1 deletions

View file

@ -55,11 +55,14 @@ pub enum Token {
Pizza,
Brace,
Bracket,
AtSign,
Paren,
Arrow,
Pipe,
Backpass,
Decimal,
Multiply,
Underscore,
}
pub fn highlight(text: &str) -> Vec<Loc<Token>> {
@ -274,6 +277,10 @@ fn highlight_inner<'a>(
state.advance_mut(1);
tokens.push(Loc::at(Region::between(start, state.pos()), Token::Comma));
}
'_' => {
state.advance_mut(1);
tokens.push(Loc::at(Region::between(start, state.pos()), Token::Underscore));
}
'?' => {
state.advance_mut(1);
tokens.push(Loc::at(
@ -285,6 +292,10 @@ fn highlight_inner<'a>(
state.advance_mut(1);
tokens.push(Loc::at(Region::between(start, state.pos()), Token::Percent));
}
'*' => {
state.advance_mut(1);
tokens.push(Loc::at(Region::between(start, state.pos()), Token::Multiply));
}
'^' => {
state.advance_mut(1);
tokens.push(Loc::at(Region::between(start, state.pos()), Token::Caret));
@ -306,6 +317,13 @@ fn highlight_inner<'a>(
};
tokens.push(Loc::at(Region::between(start, state.pos()), tok));
}
'@' => {
state.advance_mut(1);
tokens.push(Loc::at(
Region::between(start, state.pos()),
Token::AtSign,
));
}
'{' | '}' => {
state.advance_mut(1);
tokens.push(Loc::at(Region::between(start, state.pos()), Token::Brace));