Commit Graph

177 Commits

Author SHA1 Message Date
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
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
cdc3065dfb Make visitor interfaces wholly abstract. 2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
ffb85921cb Buggy implementation of CSS @import. 2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
47929dfde3 Support @import.
CSS @import is still unsupported.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
f1ce6ea599 Format all code. 2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
faa86b697c Make (most) spans mandatory.
Arguments are still optional since they may be constructed for
user-defined arguments.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
82aca21682 Add @if. 2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
c4cda30bc0 Validate dynamic children. 2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
0573fa7709 @content support. 2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
bbaf8a5a2f Run arguments in the right environment. 2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
fcaa696f02 Re-organize AST files. 2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
6951774d70 Add a CallableInvocation interface. 2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
32db51f005 Add built-in functions. 2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
709f564f21 Refactor _runCallable. 2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
cba5881eb4 Remove redundant parameters. 2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
4e0a511570 Add mixins. 2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
64c2453a35 Fix printing of childless at-rules. 2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
0498e8a95c InterpolationExpression -> Interpolation 2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
860f761c27 "Separator independent" -> "normalized" 2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
50912350af Add support for functions.
Argument list objects are still not implemented.
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
7bac6790af Merge both perform visitors together. 2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
113b4787ed Stylistic consistency. 2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
55e81951b2 Stringify the parent selector normally. 2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
64e4954656 Fix some pseudo bugs. 2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
0a0f7837b0 Parent selector support. 2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
cf086471c6 Nested properties. 2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
dbf2c18ae6 Move selector serialization to the visitor. 2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
6c0a2547b0 Re-organize visitors. 2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
3108dc46e9 Add a default Value.toString(). 2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
9f2f32c7e4 Fix comment formatting. 2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
6c6bd715ee Add maps. 2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
98682b67a8 Add support for custom properties. 2016-08-30 15:51:20 -07:00
Natalie Weizenbaum
a2d645ee73 Add bracketed lists. 2016-08-30 15:51:20 -07:00
Natalie Weizenbaum
69221190e7 Enable @extend.
Still tons of runtime errors.
2016-08-30 15:51:20 -07:00
Natalie Weizenbaum
2b120f005d Fix some hints. 2016-08-30 15:51:20 -07:00
Natalie Weizenbaum
d5b029de9b Some extend infra juggling. 2016-08-30 15:51:20 -07:00
Natalie Weizenbaum
5e93ee8667 Extend WIP 2016-08-30 15:51:19 -07:00
Natalie Weizenbaum
0629fab635 _addChild -> _parent.addChild 2016-08-30 15:51:19 -07:00
Natalie Weizenbaum
da91d13d4f Make bubbling Sass-compliant. 2016-08-30 15:51:19 -07:00
Natalie Weizenbaum
c5eb7f187b Only store selectors/media queries. 2016-08-30 15:51:19 -07:00
Natalie Weizenbaum
e8756eb02d Make CssNodes directly mutable.
This shaves off a significant amount of time, since now we don't have to
do what is essentially a full copy of the CSS tree. We may want to use
interfaces to provide an immutable view of the CSS tree for use outside
of the perform visitor.
2016-08-30 15:51:19 -07:00
Natalie Weizenbaum
a4a7ec1bd9 Refactor bubbling.
This still isn't quite right, though...
2016-08-30 15:51:19 -07:00
Natalie Weizenbaum
9575005571 Fix analysis issues. 2016-08-30 15:51:18 -07:00
Natalie Weizenbaum
42ead803e9 Partial implementation of media rule merging.
The outer query is still hanging around.
2016-08-30 15:51:18 -07:00
Natalie Weizenbaum
6022128372 Clean up style rule tracking. 2016-08-30 15:51:18 -07:00
Natalie Weizenbaum
e1e139959f Bubbling! 2016-08-30 15:51:18 -07:00
Natalie Weizenbaum
2ece8c19c9 Complete the loop on media queries.
Still need bubbling support.
2016-08-30 15:51:18 -07:00
Natalie Weizenbaum
d063b41e64 Add Sass media query classes. 2016-08-30 15:51:18 -07:00
Natalie Weizenbaum
8d46af6b56 Add support for unrecognized at-rules. 2016-08-30 15:51:18 -07:00
Natalie Weizenbaum
951ab45274 Parse selectors for rule nodes. 2016-08-30 15:51:18 -07:00
Natalie Weizenbaum
a23aa018b0 Support hex colors. 2016-08-30 15:51:18 -07:00
Natalie Weizenbaum
f09d2c01b2 Fix analysis. 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
13e3bd7707 Prefix all values. 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
2189dbf113 Parse strings. 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
dadcebf2c9 Add a dedicated serializer. 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
a2d3008f9b Move sass visitors under a sass dir. 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
01e31fe4ad Add CSS and Value visitors. 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
d2a42d61ef visit -> accept 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
e5cf8d5738 Numbers. 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
97e53ce1ff Boolean literals. 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
8f44bd8daa Booleans and unary not. 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
110bdf9efc Single-char unary operators. 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
8a395d7f7b Hooray for exports! 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
86fa4cf068 Add variable support. 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
34b365c8c6 Simple perform. 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
fbae2fe016 Re-organize the Sass AST. 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
f8cfb305a9 Add an explicit distinction between statements and expressions. 2016-08-30 15:51:16 -07:00