From 5fe3367db69df2b35bc55fb85e0aa3cda9a2646c Mon Sep 17 00:00:00 2001 From: jtm Date: Fri, 23 Mar 2012 17:02:39 +0000 Subject: [PATCH] negative variables --- lesscpy/lessc/lexer.py | 1 + lesscpy/lessc/parser.py | 5 +++-- lesscpy/plib/variable.py | 6 ++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lesscpy/lessc/lexer.py b/lesscpy/lessc/lexer.py index dd03053..4b876e1 100644 --- a/lesscpy/lessc/lexer.py +++ b/lesscpy/lessc/lexer.py @@ -68,6 +68,7 @@ class LessLexer: 'css_ident', 'css_number', 'css_color', + 'less_variable', '&', ] significant_ws += list(set(reserved.values())) diff --git a/lesscpy/lessc/parser.py b/lesscpy/lessc/parser.py index e758a6f..23f93c8 100644 --- a/lesscpy/lessc/parser.py +++ b/lesscpy/lessc/parser.py @@ -582,7 +582,7 @@ class LessParser(object): def p_variable_neg(self, p): """ variable : '-' variable """ - p[0] = '-' + p[2] + p[0] = ['-', p[2]] def p_variable_strange(self, p): """ variable : t_popen variable t_pclose @@ -593,7 +593,8 @@ class LessParser(object): """ variable : less_variable | less_variable t_ws """ - p[0] = p[1] + p[0] = p[1] +# p[0] = tuple(list(p)[1:]) def p_color(self, p): """ color : css_color diff --git a/lesscpy/plib/variable.py b/lesscpy/plib/variable.py index e7aa0a7..49d1d39 100644 --- a/lesscpy/plib/variable.py +++ b/lesscpy/plib/variable.py @@ -7,5 +7,11 @@ class Variable(Node): """ self.name = self.tokens.pop(0) self.value = self.tokens[1] + if type(self.name) is tuple: + if len(self.name) > 1: + self.name, pad = self.name + self.value.append(pad) + else: + self.name = self.name[0] return self