From 5da1fd891bfbc5532f81729dcde387dfd4262e97 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Tue, 17 Dec 2013 14:10:33 +0100 Subject: [PATCH] Support style and identifier lists in escaped strings. Example: .foo { transition: ~"border-color ease-in-out .15s, box-shadow ease-in-out .15s"; } --- lesscpy/lessc/lexer.py | 9 +++++++++ lesscpy/lessc/parser.py | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lesscpy/lessc/lexer.py b/lesscpy/lessc/lexer.py index 192956f..305c701 100644 --- a/lesscpy/lessc/lexer.py +++ b/lesscpy/lessc/lexer.py @@ -174,6 +174,15 @@ class LessLexer: r'@\{[^@\}]+\}' return t + def t_iselector_t_eclose(self, t): + r'"|\'' + # Can only happen if iselector state is on top of estring state. + # + # Example: @item: ~".col-xs-@{index}"; + # + t.lexer.pop_state() + return t + def t_iselector_css_filter(self, t): (r'\[[^\]]*\]' '|(not|lang|nth-[a-z\-]+)\(.+\)' diff --git a/lesscpy/lessc/parser.py b/lesscpy/lessc/parser.py index 809ec79..c576029 100644 --- a/lesscpy/lessc/parser.py +++ b/lesscpy/lessc/parser.py @@ -664,7 +664,8 @@ class LessParser(object): # def p_escaped_string(self, p): - """ estring : t_eopen style t_eclose + """ estring : t_eopen style_list t_eclose + | t_eopen identifier_list t_eclose """ p[0] = p[2]