1 Commits

Author SHA1 Message Date
8d7faf2098 0.3.0 2024-08-13 11:06:06 -03:00
6 changed files with 7 additions and 11 deletions

View File

@@ -1,5 +1,5 @@
name: tartrazine
version: 0.2.0
version: 0.3.0
authors:
- Roberto Alsina <roberto.alsina@gmail.com>

View File

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

View File

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

View File

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

View File

@@ -19,7 +19,7 @@ module Tartrazine
match = pattern.match(text, pos)
# We don't match if the match doesn't move the cursor
# because that causes infinite loops
return false, pos, [] of Token if match.nil? || match.size == 0
return false, pos, [] of Token if match.nil? || match.end == 0
# Log.trace { "#{match}, #{pattern.inspect}, #{text}, #{pos}" }
tokens = [] of Token
# Emit the tokens

View File

@@ -11,7 +11,7 @@ require "xml"
module Tartrazine
extend self
VERSION = "0.2.0"
VERSION = {{ `shards version #{__DIR__}`.chomp.stringify }}
Log = ::Log.for("tartrazine")
end