summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEevee (Alex Munroe) <eevee.git@veekun.com>2014-07-12 15:59:35 -0700
committerEevee (Alex Munroe) <eevee.git@veekun.com>2014-07-12 15:59:35 -0700
commit33dbb0ab5611bfc8f262ae9df91d59c58af638ea (patch)
treed2629af4f92162790a926921f72643d3baa343a4
parentda11013c62c7c49ab141bbe67f91ad34eeedd2c3 (diff)
downloadpyscss-33dbb0ab5611bfc8f262ae9df91d59c58af638ea.tar.gz
Recognize () as an empty list.
-rw-r--r--scss/expression.py6
-rw-r--r--scss/src/grammar/grammar.g3
2 files changed, 6 insertions, 3 deletions
diff --git a/scss/expression.py b/scss/expression.py
index b46128e..3ec187c 100644
--- a/scss/expression.py
+++ b/scss/expression.py
@@ -827,7 +827,9 @@ class SassExpression(Parser):
if _token_ == 'LPAR':
LPAR = self._scan('LPAR')
_token_ = self._peek(self.atom_rsts)
- if _token_ not in self.argspec_item_chks:
+ if _token_ == 'RPAR':
+ v = ListLiteral([], comma=False)
+ elif _token_ not in self.argspec_item_chks:
expr_map = self.expr_map()
v = expr_map
else: # in self.argspec_item_chks
@@ -915,7 +917,7 @@ class SassExpression(Parser):
kwatom_rsts_ = set(['UNITS', '":"'])
argspec_items_chks = set(['KWVAR', 'LPAR', 'COLOR', 'QSTR', 'SIGN', 'VAR', 'ADD', 'NUM', 'FNCT', 'STR', 'NOT', 'BANG_IMPORTANT', 'ID'])
argspec_rsts = set(['KWVAR', 'LPAR', 'BANG_IMPORTANT', 'END', 'SLURPYVAR', 'COLOR', 'DOTDOTDOT', 'RPAR', 'VAR', 'ADD', 'NUM', 'FNCT', 'STR', 'NOT', 'QSTR', 'SIGN', 'ID'])
- atom_rsts = set(['KWVAR', 'KWID', 'KWSTR', 'BANG_IMPORTANT', 'LPAR', 'COLOR', 'KWQSTR', 'SIGN', 'KWCOLOR', 'VAR', 'ADD', 'NUM', '":"', 'STR', 'NOT', 'QSTR', 'KWNUM', 'ID', 'FNCT'])
+ atom_rsts = set(['KWVAR', 'KWID', 'KWSTR', 'BANG_IMPORTANT', 'LPAR', 'COLOR', 'KWQSTR', 'SIGN', 'RPAR', 'KWCOLOR', 'VAR', 'ADD', 'NUM', '":"', 'STR', 'NOT', 'QSTR', 'KWNUM', 'ID', 'FNCT'])
argspec_chks_ = set(['END', 'RPAR'])
argspec_rsts_ = set(['KWVAR', 'LPAR', 'BANG_IMPORTANT', 'END', 'COLOR', 'QSTR', 'SIGN', 'VAR', 'ADD', 'NUM', 'FNCT', 'STR', 'NOT', 'RPAR', 'ID'])
diff --git a/scss/src/grammar/grammar.g b/scss/src/grammar/grammar.g
index 0880f8d..135d594 100644
--- a/scss/src/grammar/grammar.g
+++ b/scss/src/grammar/grammar.g
@@ -148,7 +148,8 @@ parser SassExpression:
rule atom:
LPAR (
- expr_map {{ v = expr_map }}
+ {{ v = ListLiteral([], comma=False) }}
+ | expr_map {{ v = expr_map }}
| expr_lst {{ v = expr_lst }}
) RPAR {{ return Parentheses(v) }}
| FNCT LPAR argspec RPAR {{ return CallOp(FNCT, argspec) }}