summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--parser.go2
-rw-r--r--parser_test.go2
2 files changed, 3 insertions, 1 deletions
diff --git a/parser.go b/parser.go
index a612857..7530b3d 100644
--- a/parser.go
+++ b/parser.go
@@ -181,6 +181,8 @@ func parseMatcher(matcher string) (alphabet string, ranges [][]rune) {
}
} else if i+1 < len(runes) && runes[i] == '\\' {
alphabet += string(runes[i+1])
+ } else if runes[i] == '-' {
+ continue
} else {
alphabet += string(runes[i])
}
diff --git a/parser_test.go b/parser_test.go
index b2e698c..2fdaafe 100644
--- a/parser_test.go
+++ b/parser_test.go
@@ -114,7 +114,7 @@ func TestChars(t *testing.T) {
t.Run("unescaped hyphen", func(t *testing.T) {
node, ps := runParser("19-", Chars("0-9"))
require.Equal(t, "19", node.Token)
- require.Equal(t, 2, ps.Pos)
+ require.Equal(t, "-", ps.Get()) // hyphen shouldn't have been parsed
require.False(t, ps.Errored())
})