summaryrefslogtreecommitdiff
path: root/scss
diff options
context:
space:
mode:
authorEevee (Lexy Munroe) <eevee.git@veekun.com>2016-06-08 17:49:18 -0700
committerEevee (Lexy Munroe) <eevee.git@veekun.com>2016-06-08 17:49:18 -0700
commit518e31f90b079ecf99201a1a9e73ff12787483d2 (patch)
tree8c6e5ca9538793036e246e547ddbda1d3dd5a644 /scss
parent3f79aafa40c71a8cbcf52f32dc6b7d6c232d0643 (diff)
downloadpyscss-518e31f90b079ecf99201a1a9e73ff12787483d2.tar.gz
"opacity" in IE filter nonsense should be case-insensitive, re #341
Diffstat (limited to 'scss')
-rw-r--r--scss/grammar/expression.g4
-rw-r--r--scss/grammar/expression.py8
2 files changed, 6 insertions, 6 deletions
diff --git a/scss/grammar/expression.g b/scss/grammar/expression.g
index fef8959..1341f1a 100644
--- a/scss/grammar/expression.g
+++ b/scss/grammar/expression.g
@@ -96,9 +96,9 @@ parser SassExpression:
token VAR: "\$[-a-zA-Z0-9_]+"
# Cheating, to make sure these only match function names.
- # The last of these is the IE filter nonsense
token LITERAL_FUNCTION: "(calc|expression|progid:[\w.]+)(?=[(])"
token ALPHA_FUNCTION: "alpha(?=[(])"
+ token OPACITY: "(?:(?i)opacity)"
token URL_FUNCTION: "url(?=[(])"
# This must come AFTER the above
token FNCT: "[-a-zA-Z_][-a-zA-Z0-9_]*(?=\()"
@@ -244,7 +244,7 @@ parser SassExpression:
# filter syntax, where it appears as alpha(opacity=NN). Since = isn't
# normally valid Sass, we have to special-case it here
| ALPHA_FUNCTION LPAR (
- "opacity" "=" atom RPAR
+ OPACITY "=" atom RPAR
{{ return AlphaFunctionLiteral(atom) }}
| argspec RPAR {{ return CallOp("alpha", argspec) }}
)
diff --git a/scss/grammar/expression.py b/scss/grammar/expression.py
index 1d2a6b5..88e3023 100644
--- a/scss/grammar/expression.py
+++ b/scss/grammar/expression.py
@@ -42,7 +42,6 @@ class SassExpressionScanner(Scanner):
patterns = None
_patterns = [
('"="', '='),
- ('"opacity"', 'opacity'),
('":"', ':'),
('","', ','),
('SINGLE_STRING_GUTS', "([^'\\\\#]|[\\\\].|#(?![{]))*"),
@@ -86,6 +85,7 @@ class SassExpressionScanner(Scanner):
('VAR', '\\$[-a-zA-Z0-9_]+'),
('LITERAL_FUNCTION', '(calc|expression|progid:[\\w.]+)(?=[(])'),
('ALPHA_FUNCTION', 'alpha(?=[(])'),
+ ('OPACITY', '(?:(?i)opacity)'),
('URL_FUNCTION', 'url(?=[(])'),
('FNCT', '[-a-zA-Z_][-a-zA-Z0-9_]*(?=\\()'),
('BAREWORD', '(?!\\d)(\\\\[0-9a-fA-F]{1,6}|\\\\.|[-a-zA-Z0-9_])+'),
@@ -339,8 +339,8 @@ class SassExpression(Parser):
ALPHA_FUNCTION = self._scan('ALPHA_FUNCTION')
LPAR = self._scan('LPAR')
_token_ = self._peek(self.atom_rsts_)
- if _token_ == '"opacity"':
- self._scan('"opacity"')
+ if _token_ == 'OPACITY':
+ OPACITY = self._scan('OPACITY')
self._scan('"="')
atom = self.atom()
RPAR = self._scan('RPAR')
@@ -560,7 +560,7 @@ class SassExpression(Parser):
and_expr_rsts = frozenset(['LPAR', 'DOUBLE_QUOTE', 'ALPHA_FUNCTION', 'RPAR', 'INTERP_END', 'BANG_IMPORTANT', 'URL_FUNCTION', 'INTERP_START', 'COLOR', 'NUM', '":"', 'BAREWORD', 'END', 'SIGN', 'LITERAL_FUNCTION', 'ADD', 'FNCT', 'VAR', 'AND', 'OR', 'NOT', 'SINGLE_QUOTE', '","'])
comparison_rsts = frozenset(['LPAR', 'DOUBLE_QUOTE', 'ALPHA_FUNCTION', 'RPAR', 'INTERP_END', 'BANG_IMPORTANT', 'LE', 'URL_FUNCTION', 'INTERP_START', 'COLOR', 'NE', 'LT', 'NUM', '":"', 'LITERAL_FUNCTION', 'GT', 'END', 'SIGN', 'BAREWORD', 'ADD', 'FNCT', 'VAR', 'EQ', 'AND', 'GE', 'SINGLE_QUOTE', 'NOT', 'OR', '","'])
argspec_chks = frozenset(['DOTDOTDOT', 'SLURPYVAR'])
- atom_rsts_ = frozenset(['KWVAR', 'LPAR', 'DOUBLE_QUOTE', 'SLURPYVAR', 'ALPHA_FUNCTION', 'RPAR', 'BANG_IMPORTANT', '"opacity"', 'URL_FUNCTION', 'INTERP_START', 'COLOR', 'NUM', 'BAREWORD', 'END', 'SIGN', 'LITERAL_FUNCTION', 'ADD', 'FNCT', 'VAR', 'DOTDOTDOT', 'NOT', 'SINGLE_QUOTE'])
+ atom_rsts_ = frozenset(['KWVAR', 'LPAR', 'DOUBLE_QUOTE', 'SLURPYVAR', 'ALPHA_FUNCTION', 'RPAR', 'BANG_IMPORTANT', 'URL_FUNCTION', 'INTERP_START', 'COLOR', 'NUM', 'BAREWORD', 'END', 'SIGN', 'LITERAL_FUNCTION', 'ADD', 'FNCT', 'VAR', 'OPACITY', 'DOTDOTDOT', 'NOT', 'SINGLE_QUOTE'])
interpolated_string_double_rsts = frozenset(['DOUBLE_QUOTE', 'INTERP_START'])
atom_chks__ = frozenset(['COLOR', 'VAR'])
expr_map_or_list_rsts_ = frozenset(['RPAR', '","'])