Natalie Weizenbaum
9ac48fbc05
Add support for binary operations.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
7fb7804a52
Refactor list parsing.
...
Moving all list parsing into a single method with a giant switch will
make it possible to parse binary operations there in the future.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
33f56f31ff
_spaceListOrValue -> _spaceListOrExpression
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
bcaaa1103f
UnaryOperatorExpression -> UnaryOperationExpression
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
5d71ac78b9
Indented syntax parser.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
bca0907897
ignoreComments() -> whitespace()
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
aab7c741c7
Refactor comment statement parsing.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
3a2b7ca9df
Split the parser up.
...
There are now separate parsers for selectors and at-root queries, since
those are parsed independently of the main stylesheet. The Parser class
contains utilities that are useful across different parsers.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
3329ba80b8
Re-add CssValue.toString().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
af61587807
Better known identifier parsing.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
913e81faaa
Remove fixed TODOs.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
bde9c353f5
Further improve list serialization.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
ee7c3e5c3c
Support expression &.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
db0cea9870
Fix some bugs with combinators.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
5e23c99b22
Get rid of more redundant toString() definitions.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
53635def75
Fix map serialization.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
232ee90b4d
Fix parenthesis parsing.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
b2ffc1ba08
Support --trace.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
efd336dd20
Support null.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
1832879845
Support @each
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
e873242ac4
Support @while
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
80f0afb484
Support @for.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
202fcad40f
Name all at-rules *Rule.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
f85b21a3c3
Support @error
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
69aabed63d
Support @warn
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
da1cef3f6f
Move advanced list paren logic to serializer.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
7a5029b5ae
Support @debug.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
e8fdcc586a
Add runtime exceptions and stack traces.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
60b8aae55f
No more throwing strings.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
da7a58645e
Add a proper exception class.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
987eee5c0a
Support @extend !optional.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
507ae1790a
ExtendRule -> Extend
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
3fb3ae1f3b
Throw if an extend doesn't match.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
92f657db46
Don't emit placeholders.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
673db13d51
Move emptiness-checking to the serializer.
...
We can't actually know if a rule will be empty until we've evaluated the
entire stylesheet, since it might contain a placeholder that may or may
not be extended.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
cc56ea0f13
Implement CssNode.toString() using toCss().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
e607e7914f
Support @at-root.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
17c5814a15
Fix a formatting nit.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
0f82f72fa4
Fix media query parsing.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
d3d4427028
Fix quoted strings in interpolation.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
0fe62a04a6
@supports support.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
0e5f8040d2
Add a disclaimer to the README.
2016-08-30 16:00:52 -07:00
Natalie Weizenbaum
07a79e4557
Fix color serialization.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
7b5f8c7284
Fix an @extend bug.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
def4ffea0f
Fix a selector-parsing bug.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
9b183ed32c
Clean up output of childless rules.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
83c8c1a9b7
Add args support.
...
It doesn't really do anything yet.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
80e111eb56
Properly parse whitespace-only files.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
e2eb590ce6
Set precision to 10.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
cdc3065dfb
Make visitor interfaces wholly abstract.
2016-08-30 15:51:23 -07:00