Implement % as a unit

This commit is contained in:
Olivier Goffart 2020-07-16 11:23:10 +02:00
parent c3aae7648a
commit 170564ecea
5 changed files with 59 additions and 1 deletions

View file

@ -92,6 +92,16 @@ fn fill_token_vec(stream: TokenStream, vec: &mut Vec<parser::Token>) {
}
SyntaxKind::OrOr
}
'%' => {
// % can only exist after number literal
if let Some(last) = vec.last_mut() {
if last.kind == SyntaxKind::NumberLiteral {
last.text = format!("{}%", last.text).into();
continue;
}
}
SyntaxKind::Error
}
_ => SyntaxKind::Error,
};
prev_spacing = p.spacing();