We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent b84db2d commit f03543eCopy full SHA for f03543e
src/tokenizer.rs
@@ -13,15 +13,15 @@ use unicode_categories::UnicodeCategories;
13
pub(crate) fn tokenize(mut input: &str) -> Vec<Token<'_>> {
14
let mut tokens: Vec<Token> = Vec::new();
15
16
+ let mut last_reserved_token = None;
17
+
18
// Keep processing the string until it is empty
- while let Ok(result) = get_next_token(
- input,
19
- tokens.last().cloned(),
20
- tokens
21
- .iter()
22
- .rfind(|token| token.kind == TokenKind::Reserved)
23
- .cloned(),
24
- ) {
+ while let Ok(result) =
+ get_next_token(input, tokens.last().cloned(), last_reserved_token.clone())
+ {
+ if result.1.kind == TokenKind::Reserved {
+ last_reserved_token = Some(result.1.clone());
+ }
25
input = result.0;
26
27
tokens.push(result.1);
0 commit comments