diff --git a/src/utils.rs b/src/utils.rs index 7d961ae..14948fb 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -189,7 +189,11 @@ pub(crate) fn parse_quoted_string>( continue; } TokenKind::Symbol(Symbol::BackSlash) if !is_escaped => is_escaped = true, - TokenKind::Symbol(Symbol::BackSlash) => s.push('\\'), + TokenKind::Symbol(Symbol::BackSlash) => { + is_escaped = false; + s.push('\\'); + continue; + }, TokenKind::Interpolation if !is_escaped => { found_interpolation = true; s.push_str( diff --git a/tests/values.rs b/tests/values.rs index 51c6ded..658dbe9 100644 --- a/tests/values.rs +++ b/tests/values.rs @@ -350,3 +350,8 @@ test!( "a {\n color: \"f\"foo;\n}\n", "a {\n color: \"f\" foo;\n}\n" ); +test!( + escaped_backslash, + "a {\n color: \"\\\\\";\n}\n", + "a {\n color: \"\\\";\n}\n" +);