summaryrefslogtreecommitdiff
path: root/scss/expression.py
Commit message (Collapse)AuthorAgeFilesLines
* scss.expression -> scss.calculatorEevee (Alex Munroe)2014-09-051-184/+0
|
* Fix a couple bugs with interpolation.Eevee (Alex Munroe)2014-09-011-2/+12
| | | | | | | | - Sometimes whitespace could be lost after an interpolation. - Null wasn't being correctly interpolated as empty string. - Removing String.__str__ revealed a tiny bug in apply_vars.
* Stop doing interpolation before parsing.Eevee (Alex Munroe)2014-08-291-9/+5
|
* Several vast improvements to string parsing.Eevee (Alex Munroe)2014-08-291-0/+11
| | | | | | | | | | | | | | | | | | | | - Interpolation is now understood by the parser! It works for barewords, quoted strings, and both forms of URL. - Escaped characters are now understood and translated by the parser as well! - Rendering strings to CSS attempts to escape them correctly, regardless of how they were put together. - The block locator (at least the Python version) is now a little more aware of CSS escaping. Unfortunately there are some problems with the C module in this commit, which I will be promptly fixing. Conflicts: scss/blockast.py
* Move ALL the parsing stuff under scss/grammar/.Eevee (Alex Munroe)2014-08-291-4/+1
| | | | | | | | | Also, in the same vein as Python 3's approach, simply importing from the "native" module will automatically produce the sped-up versions if available. Conflicts: scss/compiler.py
* Break the AST and grammar into their own modules.Eevee (Alex Munroe)2014-08-291-791/+5
| | | | | Conflicts: scss/expression.py
* Oops, fix __all__.Eevee (Alex Munroe)2014-08-271-1/+0
|
* Remove calculator's reliance on config.FATAL_UNDEFINED.Eevee (Alex Munroe)2014-08-271-7/+13
|
* Remove compiler's reliance on config.VERBOSITY.Eevee (Alex Munroe)2014-08-271-4/+2
|
* Remove compiler's reliance on config.DEBUG.Eevee (Alex Munroe)2014-08-271-4/+5
|
* Urls could contain variables and other things (at least consider urls which ↵German M. Bravo2014-07-231-1/+1
| | | | might contain variables)
* Grammar was using wrong (undefined) variable.German M. Bravo2014-07-231-1/+1
|
* Improved escaping/unescaping and dequoting of stringsGerman M. Bravo2014-07-231-8/+8
|
* Remove u prefix from files that use unicode_literals.Eevee (Alex Munroe)2014-07-121-1/+1
|
* Revert "Uses six.u() to allow Python 3.2 compat."Eevee (Alex Munroe)2014-07-121-1/+1
| | | | This reverts commit 65235576e1076a93c6c9ed06ba657105bea6b012.
* At last, real parsing for url(). Partly. #192Eevee (Alex Munroe)2014-07-121-18/+42
|
* Merge pull request #285 from thomasgoirand/masterEevee2014-07-121-1/+1
|\ | | | | Uses six.u() to allow Python 3.2 compat.
| * Uses six.u() to allow Python 3.2 compat.Thomas Goirand2014-06-271-1/+1
| |
* | Recognize () as an empty list.Eevee (Alex Munroe)2014-07-121-2/+4
|/
* Re-raise calculator caught exceptionsGerman M. Bravo2014-06-101-1/+2
|
* Made the speedups module Unicode-aware!Eevee (Alex Munroe)2014-03-291-2/+14
| | | | | | | | As part of this, I also got to (had to) remove the inlining of line numbers into the source code delimited by NULs; instead, the scanner and its pending blocks now just track the current line number. Works on both 2 and 3, too.
* Make the internals all use unicode, even on py2.Eevee (Alex Munroe)2014-03-291-1/+9
| | | | | | | | | This was happening on py3 anyway, so might as well try to be Unicode-clean everywhere. The CSS charset detection is not actually implemented yet. Also, speedups are now totally broken on py2. Please hold.
* Lists built from function calls are not "literal".Eevee (Alex Munroe)2013-10-081-2/+12
|
* Improve behavior of null values in lists.Eevee (Alex Munroe)2013-10-081-1/+2
|
* Undefined literals cause SyntaxError if FATAL_UNDEFINED is setGerman M. Bravo2013-10-081-1/+4
|
* Add new string and list functions from Sass 3.3; update docs re 3.3.Eevee (Alex Munroe)2013-10-071-1/+1
|
* Revert "Unquote strings when used from variables in selectors"Eevee (Alex Munroe)2013-10-071-4/+4
| | | | | | | Diverges from Ruby behavior, and is causing a crash somewhere when run against Yelp's codebase. This reverts commit 431a1d1471de6d86dd8cdf66924a606fea0df60e.
* Unquote strings when used from variables in selectorsGerman M. Bravo2013-10-061-4/+4
|
* Interactive mode prints Sass errors and Added SyntaxError exception for ↵German M. Bravo2013-10-061-2/+2
| | | | Undefined variables
* PEP 8 cleanupsGerman M. Bravo2013-10-061-3/+3
|
* Commenting on apply_vars...Eevee (Alex Munroe)2013-10-031-3/+3
|
* Interpolate selectors BEFORE substituting variables.Eevee (Alex Munroe)2013-10-031-2/+2
|
* Missing functions and mixins both cause logging errorsGerman M. Bravo2013-10-031-1/+1
|
* Arguments without default are no longer treated as if defined as UndefinedGerman M. Bravo2013-10-031-1/+1
|
* FATAL_UNDEFINED moved to config (some may need undefined variables to be not ↵German M. Bravo2013-09-271-6/+6
| | | | fatal)
* Support bare "..." on mixins, to allow arbitrary var injection.Eevee (Alex Munroe)2013-09-261-11/+25
|
* Fix slurpy args when /calling/, oops.Eevee (Alex Munroe)2013-09-201-32/+39
|
* Maps should have their keys evaluated as expressions!Eevee (Alex Munroe)2013-08-281-4/+2
|
* Short-circuit boolean evaluation, and return the determining value.Eevee (Alex Munroe)2013-08-281-4/+10
| | | | | This acts much more like Python; now we don't even evaluate the AST once we know the result.
* At long last, kill ParserValue and most of the Color constructor.Eevee (Alex Munroe)2013-08-271-3/+3
|
* Holy crap variable arguments. Fixes #100!Eevee (Alex Munroe)2013-08-231-1/+4
|
* Parser support for slurpy arguments.Eevee (Alex Munroe)2013-08-231-25/+63
|
* Enforce that Sass functions return Sass values.Eevee (Alex Munroe)2013-08-211-2/+5
|
* except...asEevee (Alex Munroe)2013-08-191-2/+2
|
* Simplify AST cache.Eevee (Alex Munroe)2013-08-191-11/+6
|
* Fix bug in error printing. Make evaluate_expression use parse_expression.Eevee (Alex Munroe)2013-08-191-25/+15
|
* Bit more context for errors, including a sweet caret.Eevee (Alex Munroe)2013-08-191-10/+7
| | | | | Partially reverted the grayscale() fix, since it masks errors in Sass functions.
* Basic error wrapping.Eevee (Alex Munroe)2013-08-191-4/+9
|
* Parentheses for maps tooGerman M. Bravo2013-08-171-2/+2
|
* Better repr() for ExpressionsGerman M. Bravo2013-08-171-1/+37
|