diff --git a/src/rukka_lang/mod.rs b/src/rukka_lang/mod.rs index 7c06009..5cb88a2 100644 --- a/src/rukka_lang/mod.rs +++ b/src/rukka_lang/mod.rs @@ -128,13 +128,10 @@ fn tokenize(input: &mut Peekable) -> Vec { let string: String = input.scan(false, |escape, cur_char| { let seen_escape = *escape; *escape = cur_char == '\\' && !seen_escape; - - if cur_char == '"' && !seen_escape { - None - } else if cur_char == '\\' && !seen_escape { - Some(None) - } else { - Some(Some(cur_char)) + match (cur_char, seen_escape) { + ('"', false) => None, + ('\\', false) => Some(None), + (c, _) => Some(Some(c)) } }).filter_map(|x| x).collect(); tokens.push(StringLiteral(string));