From eb30135e94b27b05ccf06c6b46a3b7238d72b2f4 Mon Sep 17 00:00:00 2001 From: Mingun Date: Sat, 7 Sep 2024 01:30:07 +0500 Subject: [PATCH] Expressions: Since peg 0.8.0 [...] returns matched character See https://github.com/kevinmehall/rust-peg/issues/234 --- src/parser/expressions.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/parser/expressions.rs b/src/parser/expressions.rs index f17f8c2..f41a102 100644 --- a/src/parser/expressions.rs +++ b/src/parser/expressions.rs @@ -473,12 +473,12 @@ peg::parser! { rule EOS() = ![_]; rule string() -> String - = "'" s:$([x if x != '\'']*) "'" { s.to_owned() } + = "'" s:$([^ '\'']*) "'" { s.to_owned() } / "\"" v:(ch() / escaped())* "\"" { String::from_iter(v.into_iter()) } ; /// Single non-escaped character in string - rule ch() -> char = ch:$[^ '"' | '\\'] { ch.chars().next().unwrap() }; + rule ch() -> char = [^ '"' | '\\']; /// One escaped character rule escaped() -> char = "\\" r:(quoted_char() / quoted_oct() / quoted_hex()) { r }; /// Characters that can be escaped by backslash