Commit Graph

418 Commits

Author SHA1 Message Date
Natalie Weizenbaum
9caecbe0d0 Simplify names. 2016-08-30 15:51:19 -07:00
Natalie Weizenbaum
ec5eb46747 Compound/Simple unification. 2016-08-30 15:51:19 -07:00
Natalie Weizenbaum
946c6c814c More extend stuff 2016-08-30 15:51:19 -07:00
Natalie Weizenbaum
5e93ee8667 Extend WIP 2016-08-30 15:51:19 -07:00
Natalie Weizenbaum
4b2cba2775 Structural equality for selectors. 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
d69839080e Add a mutable node class for the performer. 2016-08-30 15:51:18 -07:00
Natalie Weizenbaum
ed9f54b076 Add a Parent interface. 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
e94e55f642 Support static strings. 2016-08-30 15:51:18 -07:00
Natalie Weizenbaum
5891dacf53 Partial media query parsing.
Still needs classes, plain-CSS parsing, and to be hooked up to visitors.
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
162ea29c14 Use built-in string scanner methods. 2016-08-30 15:51:18 -07:00
Natalie Weizenbaum
4b0f18def7 Fix selector parsing. 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
04ba7cf782 Get rid of spans on selectors.
Selectors aren't parsed from source files, so it doesn't makes sense to
track these.
2016-08-30 15:51:18 -07:00
Natalie Weizenbaum
e413dfb427 SourceSpan -> FileSpan 2016-08-30 15:51:18 -07:00
Natalie Weizenbaum
849ee6022b Add selector parsing.
Not yet hooked up to perform.
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
3e61f962ac Fix a parser bug. 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
b32a3b7005 Fix bugs. 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
27a819243b Parens 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
8a395d7f7b Hooray for exports! 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
b88d0158ec Fix variables. 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
86fa4cf068 Add variable support. 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
73e450ca1c Fix a parser bug. 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
34b365c8c6 Simple perform. 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
5543201398 Change CssValue. 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
4023f33d4c Make the CSS AST a sibling of the Sass AST. 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
b24e806943 Add a plain-CSS AST. 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
22b87bed6e Add a value type. 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
e205a64eda Small fixes 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
2fce20d66a Remove outdated convention. 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
Natalie Weizenbaum
7cc74b7c17 Add a visitor class. 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
6efd5232b1 style fix 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
5308fcfb05 trySingleExpression() -> singleExpression() 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
fcb0b7d29e declarationValue() 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
0b6e7669ec Declarations and nested rulesets. 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
6eeb6a96f4 styleRule() 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
c030eb5581 almostAnyValue() 2016-08-30 15:51:16 -07:00
Natalie Weizenbaum
cee3c26963 Refactor comment parsing. 2016-08-30 15:51:15 -07:00
Natalie Weizenbaum
f8ef789b0d InterpolationBuffer 2016-08-30 15:51:15 -07:00
Natalie Weizenbaum
306d5998ef Refactor parse(). 2016-08-30 15:51:15 -07:00
Natalie Weizenbaum
2f332b4bbc Add an executable and fix some bugs. 2016-08-30 15:51:15 -07:00
Natalie Weizenbaum
53c5fb8e13 Checked-mode clean. 2016-08-30 15:51:15 -07:00
Natalie Weizenbaum
60e2e66b72 Some parser junk. 2016-08-30 15:51:11 -07:00