Accept escaped hyphens, even outside character class

master v0.6.2
Aadhavan Srinivasan 1 week ago
parent 777c590072
commit 17e897e2d6

@ -131,13 +131,9 @@ func newEscapedNode(c rune, inCharClass bool) (postfixNode, error) {
case 'v': // Vertical tab
toReturn.nodetype = characterNode
toReturn.contents = append(toReturn.contents, rune(11))
case '-': // Literal hyphen - only in character class
if inCharClass {
toReturn.nodetype = characterNode
toReturn.contents = append(toReturn.contents, '-')
} else {
return postfixNode{}, fmt.Errorf("invalid escape character")
}
case '-': // Literal hyphen
toReturn.nodetype = characterNode
toReturn.contents = append(toReturn.contents, '-')
default: // None of the above - append it as a regular character
if isNormalChar(c) { // Normal characters cannot be escaped
return postfixNode{}, fmt.Errorf("invalid escape character")

Loading…
Cancel
Save