diff --git a/lesscpy/lessc/lexer.py b/lesscpy/lessc/lexer.py index 4b876e1..78d7ecd 100644 --- a/lesscpy/lessc/lexer.py +++ b/lesscpy/lessc/lexer.py @@ -35,6 +35,7 @@ class LessLexer: 'css_important', 'css_vendor_hack', 'css_uri', + 'css_ms_filter', 'less_variable', 'less_comment', @@ -83,6 +84,10 @@ class LessLexer: '|(not|lang|nth-[a-z\-]+)\(.+\)' '|and[ \t]\(.+\)') return t + + def t_css_ms_filter(self, t): + r'progid:[^;]*' + return t def t_css_ident(self, t): (r'([\-\.\#]?' diff --git a/lesscpy/lessc/parser.py b/lesscpy/lessc/parser.py index 4846e10..a27b4fd 100644 --- a/lesscpy/lessc/parser.py +++ b/lesscpy/lessc/parser.py @@ -373,6 +373,7 @@ class LessParser(object): | vendor_property | istring | fcall + | css_ms_filter """ p[0] = p[1] diff --git a/lesscpy/scripts/compiler.py b/lesscpy/scripts/compiler.py index 26152ed..f87ffd1 100644 --- a/lesscpy/scripts/compiler.py +++ b/lesscpy/scripts/compiler.py @@ -41,9 +41,9 @@ def ldirectory(inpath, outpath, args, scope): recompile = True if recompile: if args.verbose: print("%s -> %s" % (lf, outf)) - p = parser.LessParser(yacc_debug=False, + p = parser.LessParser(yacc_debug=(args.debug), lex_optimize=True, - yacc_optimize=True, + yacc_optimize=(not args.debug), scope=scope, tabfile=yacctab, verbose=args.verbose) @@ -112,10 +112,9 @@ def run(): scope = None if args.include: for u in args.include.split(','): - p = parser.LessParser( - yacc_debug=False, + p = parser.LessParser(yacc_debug=(args.debug), lex_optimize=True, - yacc_optimize=True, + yacc_optimize=(not args.debug), tabfile=yacctab, verbose=args.verbose) p.parse(filename=u, debuglevel=0) diff --git a/lesscpy/test/css/imports.css b/lesscpy/test/css/imports.css index 278d53a..ea3323b 100644 --- a/lesscpy/test/css/imports.css +++ b/lesscpy/test/css/imports.css @@ -2,6 +2,12 @@ @import 'some/other.css.file.CSS'; @import 'some.css' all; @import "some.print.css" print; +.mixin { + color: red; +} +.mixin { + color: red; +} .import { color: red; width: 6px; diff --git a/lesscpy/test/css/imports.min.css b/lesscpy/test/css/imports.min.css index 76d6d53..b7a21dd 100644 --- a/lesscpy/test/css/imports.min.css +++ b/lesscpy/test/css/imports.min.css @@ -2,4 +2,6 @@ @import 'some/other.css.file.CSS'; @import 'some.css' all; @import "some.print.css" print; +.mixin{color:red;} +.mixin{color:red;} .import{color:red;width:6px;height:9px;}