Compare commits

...

3 Commits

3 changed files with 8 additions and 4 deletions

View File

@ -42,7 +42,6 @@ known_bad = {
"#{__DIR__}/tests/mcfunction/selectors.txt", "#{__DIR__}/tests/mcfunction/selectors.txt",
"#{__DIR__}/tests/php/anonymous_class.txt", "#{__DIR__}/tests/php/anonymous_class.txt",
"#{__DIR__}/tests/html/javascript_unclosed.txt", "#{__DIR__}/tests/html/javascript_unclosed.txt",
} }
# Tests that fail because of a limitation in PCRE2 # Tests that fail because of a limitation in PCRE2

View File

@ -30,7 +30,7 @@ module Tartrazine
@standalone : Bool = false, @standalone : Bool = false,
@surrounding_pre : Bool = true, @surrounding_pre : Bool = true,
@wrap_long_lines : Bool = false, @wrap_long_lines : Bool = false,
@weight_of_bold : Int32 = 600,) @weight_of_bold : Int32 = 600)
end end
def format(text : String, lexer : Lexer) : String def format(text : String, lexer : Lexer) : String

View File

@ -94,8 +94,13 @@ module Tartrazine
end end
# If no rule matches, emit an error token # If no rule matches, emit an error token
unless matched unless matched
# Log.trace { "Error at #{pos}" } if text[pos] == "\n"
tokens << {type: "Error", value: "#{text[pos]}"} # at EOL, reset state to "root"
tokens << {type: "TextWhitespace", value: "\n"}
@state_stack = ["root"]
else
tokens << {type: "Error", value: text[pos..pos]}
end
pos += 1 pos += 1
end end
end end