Natalie Weizenbaum
bc45cf6d54
Remove outdated TODO.
2016-09-30 16:58:17 -07:00
Natalie Weizenbaum
f15d3d8e59
Add a few missing valueToCss() calls.
2016-09-30 16:44:47 -07:00
Natalie Weizenbaum
ea4a171198
Fix new analysis issues.
2016-09-30 16:41:22 -07:00
Natalie Weizenbaum
a6065fb4ab
Reformat runtime parse errors.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
ca4e27470f
Don't allow parent selectors in @extend targets.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
9f21fa943e
Make transitive @extend work.
...
Loops are still kind of iffy.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
99c83a5834
Partial selector newline support.
...
In particular, newlines in selectors lists are now preserved during
parent selector resolution and emitted by the serializer. The output
matches Ruby Sass, but I'm not sure it's actually the best possible.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
79630cdc47
Properly serialize parent selectors.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
f460ebb2a9
Parse functions -> constructors
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
b47067ea4e
Add if().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
af4234aedd
Add call().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
6debf1e39a
Add zip().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
10d7da9d73
isBracketed -> hasBrackets
...
This is consistent with SassString.hasQuotes.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
8fd5818977
Add str-insert().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
048d7cff33
Add mix().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
227329f9c3
Add rgba().
...
This also adds built-in function overloading. This adds some extra
layers to the default function-call logic which could be avoided by
handling overloading purely in the callbacks of functions that require
it, but it's not clear how to share logic gracefully between the perform
visitor and function helpers.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
5cc5bf1914
Add rgb().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
dd8a0efd66
Add an ArgumentList class.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
8bbaf46fe6
Use the tuple package.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
c9af638f54
Support for units
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
bacc1c4529
Unify strings and identifiers.
...
The separation makes sense conceptually, but it would make string
functions a lot harder to write.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
9ac48fbc05
Add support for binary operations.
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
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
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
53635def75
Fix map serialization.
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
e607e7914f
Support @at-root.
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
07a79e4557
Fix color serialization.
2016-08-30 15:51:23 -07:00