Commit Graph

78 Commits

Author SHA1 Message Date
Natalie Weizenbaum
3c0e8cbd86 Source tracking.
This is actually way simpler than the Ruby Sass version, but I think it
should obey the First Law just as well.
2016-08-30 15:51:19 -07:00
Natalie Weizenbaum
a88670da4e Add selector specificity. 2016-08-30 15:51:19 -07:00
Natalie Weizenbaum
efaf64020f Add an LCS implementation. 2016-08-30 15:51:19 -07:00
Natalie Weizenbaum
ab2d8ae3f3 unify complex 2016-08-30 15:51:19 -07:00
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
c0a2618792 Update differences.md. 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
a3e00059c4 Add perf metrics. 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
d15247b019 One more difference. 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
81cff201e0 Document differences from Ruby Sass. 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