Let lpeg-utility.escaped_quote only remove escaped escapes and quotes

This commit is contained in:
dmiller 2014-10-01 17:56:19 +00:00
parent 092c19a702
commit 58f1b845d6

View file

@ -81,11 +81,12 @@ function escaped_quote (quot, esc)
quot = quot or '"'
esc = esc or '\\'
return lpeg.P {
lpeg.Cs(lpeg.V "quot" * lpeg.Cs((lpeg.V "simple_char" + lpeg.V "unesc")^0) * lpeg.V "quot"),
lpeg.Cs(lpeg.V "quot" * lpeg.Cs((lpeg.V "simple_char" + lpeg.V "noesc" + lpeg.V "unesc")^0) * lpeg.V "quot"),
quot = lpeg.P(quot)/"",
esc = lpeg.P(esc),
simple_char = (lpeg.P(1) - (lpeg.V "quot" + lpeg.V "esc")),
unesc = (lpeg.V "esc" * lpeg.C( lpeg.P(1) ))/"%1",
unesc = (lpeg.V "esc" * lpeg.C( lpeg.V "esc" + lpeg.P(quot) ))/"%1",
noesc = lpeg.V "esc" * lpeg.V "simple_char"
}
end