mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-29 14:54:47 +00:00
add support for @,_,* tokens
This commit is contained in:
parent
5a0a7289ba
commit
1e26769313
2 changed files with 22 additions and 1 deletions
|
@ -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));
|
||||
|
|
|
@ -45,6 +45,7 @@ pub fn highlight(code: &str) -> Vec<String> {
|
|||
| Token::ColonEquals
|
||||
| Token::Colon
|
||||
| Token::And
|
||||
| Token::AtSign
|
||||
| Token::QuestionMark => {
|
||||
buf = push_html_span(buf, current_text, "kw");
|
||||
}
|
||||
|
@ -63,6 +64,7 @@ pub fn highlight(code: &str) -> Vec<String> {
|
|||
| Token::LessThanEquals
|
||||
| Token::DoubleEquals
|
||||
| Token::DoubleBar
|
||||
| Token::Multiply
|
||||
| Token::Plus
|
||||
| Token::DoubleAnd => {
|
||||
buf = push_html_span(buf, current_text, "op");
|
||||
|
@ -81,7 +83,8 @@ pub fn highlight(code: &str) -> Vec<String> {
|
|||
buf = push_html_span(buf, current_text, "upperident");
|
||||
}
|
||||
// Variables modules and field names
|
||||
Token::LowerIdent => {
|
||||
Token::LowerIdent
|
||||
| Token::Underscore => {
|
||||
buf = push_html_span(buf, current_text, "lowerident");
|
||||
}
|
||||
// Anyting else that wasn't tokenised
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue