From 6d2d9bcb4ad798f9bee8ecf8d9e9156ec5ce1482 Mon Sep 17 00:00:00 2001 From: ConnorSkees <39542938+ConnorSkees@users.noreply.github.com> Date: Tue, 24 Mar 2020 13:36:39 -0400 Subject: [PATCH] escape all symbols and whitespace --- src/value/parse.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/value/parse.rs b/src/value/parse.rs index 83a275d..51e8c12 100644 --- a/src/value/parse.rs +++ b/src/value/parse.rs @@ -349,14 +349,11 @@ impl Value { TokenKind::Symbol(Symbol::BackSlash) => { if let Some(tok) = toks.next() { match tok.kind { - TokenKind::Symbol(Symbol::Plus) => Ok(Value::Ident( - "\\+".to_string() + &flatten_ident(toks, scope, super_selector)?, - QuoteKind::None, - )), - TokenKind::Symbol(Symbol::BackSlash) => Ok(Value::Ident( - "\\\\".to_string() + &flatten_ident(toks, scope, super_selector)?, + TokenKind::Symbol(s) => Ok(Value::Ident( + format!("\\{}{}", s, flatten_ident(toks, scope, super_selector)?), QuoteKind::None, )), + TokenKind::Whitespace(w) => Ok(Value::Ident(format!("\\{}", w), QuoteKind::None)), TokenKind::Ident(s) => Ok(Value::Ident(s, QuoteKind::None)), _ => todo!("value after \\"), }