Natalie Weizenbaum
bcd66991f7
Fix parsing of :nth-*-child() selectors.
2016-11-14 11:12:34 -08:00
Natalie Weizenbaum
b7a026096b
Fix bracketed-list parsing. ( #44 )
...
See sass/sass-spec#973
2016-11-13 20:58:24 -08:00
Natalie Weizenbaum
8df94cc4ca
Add support for Unicode ranges. ( #42 )
...
See sass/sass-spec#971
2016-11-13 13:26:52 -08:00
Natalie Weizenbaum
a7f5f4e4e8
Support the Microsoft-style = operator. ( #40 )
...
Closes #31
2016-11-12 21:21:18 -08:00
Natalie Weizenbaum
5f78a8b40a
Fix an expression-parsing bug. ( #38 )
...
A binary operator followed by a unary operator (for example, `1 + - 2`)
would crash the parser.
2016-11-11 17:47:00 -08:00
Natalie Weizenbaum
bab6ebb59a
Track and use colors' original representations.
2016-11-02 17:37:10 -07:00
Natalie Weizenbaum
12397aa8c7
Fix nested declarations in SCSS.
2016-10-30 15:06:32 -07:00
Natalie Weizenbaum
845c1b8d8d
Add missing scanner.expectDone() calls.
2016-10-30 14:54:09 -07:00
Natalie Weizenbaum
c9bbcbda3a
Fix initial media query parsing.
2016-10-30 14:53:58 -07:00
Natalie Weizenbaum
e28b399c0b
Fix an indented syntax parsing bug.
2016-10-30 13:06:23 -07:00
Natalie Weizenbaum
bc5852f64d
Support multiple @import arguments.
2016-10-29 10:58:56 -07:00
Natalie Weizenbaum
9edb2bb447
Fix a selector parsing bug.
2016-10-29 10:55:10 -07:00
Natalie Weizenbaum
868286911b
Reparse media queries at perform-time.
2016-10-28 16:55:56 -07:00
Natalie Weizenbaum
6f6eb79dae
Fix "2n of .foo" parsing.
2016-10-28 15:36:30 -07:00
Natalie Weizenbaum
d0771e7fab
Parse progid expressions like Ruby Sass.
2016-10-28 14:20:19 -07:00
Natalie Weizenbaum
324e2c6375
Fix comma-separated keyframe selectors.
2016-10-28 13:59:58 -07:00
Natalie Weizenbaum
be8b26191d
Support import clauses.
2016-10-23 17:01:21 -07:00
Natalie Weizenbaum
e615c5d15f
Require semicolons between childless statements.
2016-10-22 01:00:04 -07:00
Natalie Weizenbaum
a3142d526e
Support reference combinators.
2016-10-21 21:21:30 -07:00
Natalie Weizenbaum
18cc8d3f66
Support keyframes.
2016-10-20 23:07:35 -07:00
Natalie Weizenbaum
271f899d3b
Support slash numbers in lists.
2016-10-20 17:50:02 -07:00
Natalie Weizenbaum
40ca7ee0f9
Fix MixinRule.hasContent.
2016-10-20 15:24:04 -07:00
Natalie Weizenbaum
7b4d26cc5a
Properly parse indented-syntax empty selectors.
...
Also warn about them.
2016-10-20 14:35:45 -07:00
Natalie Weizenbaum
0d56c6fce2
Work around an analyzer error.
2016-10-19 23:09:51 -07:00
Natalie Weizenbaum
3e2f202dee
Properly parse 1px-2px.
2016-10-19 22:54:47 -07:00
Natalie Weizenbaum
e61862a715
Support !important.
2016-10-19 21:46:53 -07:00
Natalie Weizenbaum
9b05b1c24e
Allow @at-root with selectors.
2016-10-19 21:17:57 -07:00
Natalie Weizenbaum
3941e4debd
Allow declarations in @at-root.
2016-10-19 20:44:53 -07:00
Natalie Weizenbaum
7a29fa5c55
Parse namespaced universal selectors.
2016-10-18 23:13:32 -07:00
Natalie Weizenbaum
021299b9f2
Allow plain imports in control directives.
2016-10-18 23:11:02 -07:00
Natalie Weizenbaum
f476747e43
Fix valueless attribute selectors.
2016-10-18 23:06:35 -07:00
Natalie Weizenbaum
a2497adda2
Fix parenthesis detection.
2016-10-18 23:03:09 -07:00
Natalie Weizenbaum
bd042460f7
Fix trailing selector commas.
2016-10-18 22:20:50 -07:00
Natalie Weizenbaum
f71ff95cb4
Fix !global parsing.
2016-10-18 22:00:44 -07:00
Natalie Weizenbaum
4befdfff42
Consume whitespace after SCSS comments.
2016-10-18 18:17:27 -07:00
Natalie Weizenbaum
84e4cb25b8
Properly parse or.
2016-10-18 17:57:25 -07:00
Natalie Weizenbaum
75229d525d
Properly parse -#{}.
2016-10-18 17:51:17 -07:00
Natalie Weizenbaum
965e553fa9
Fix if() parsing.
2016-10-18 17:48:48 -07:00
Natalie Weizenbaum
794bdee476
Allow functions named after constants.
2016-10-18 16:36:10 -07:00
Natalie Weizenbaum
c8f0126f0b
Support explicit @charset.
2016-10-18 16:22:42 -07:00
Natalie Weizenbaum
0f6f44f939
Fix parsing of binary -.
2016-10-18 15:52:54 -07:00
Natalie Weizenbaum
e7024437d8
Use Ruby Sass string semantics.
2016-10-18 15:17:46 -07:00
Natalie Weizenbaum
8969fc75f2
Store numbers' original values.
2016-10-17 16:50:43 -07:00
Natalie Weizenbaum
441ca87f37
Way more API docs.
2016-10-15 02:57:29 -07:00
Natalie Weizenbaum
d5f9ce4ed0
A few API docs.
2016-10-12 12:27:28 -07:00
Natalie Weizenbaum
8136c16cab
A few more API docs.
2016-10-11 00:27:19 -07:00
Natalie Weizenbaum
4c418603e0
API docs for days.
2016-10-09 23:51:20 -07:00
Natalie Weizenbaum
3e10e24341
Even more API docs.
2016-10-09 20:57:28 -07:00
Natalie Weizenbaum
3a0c5ce09c
More API docs.
2016-10-09 16:36:36 -07:00
Natalie Weizenbaum
2289901df8
Support url() imports.
2016-10-07 14:05:54 -07:00
Natalie Weizenbaum
c42afb4f16
Support url() in static declaration values.
2016-10-07 14:05:29 -07:00
Natalie Weizenbaum
970c63ba41
Support url() in (interpolated) generic values.
2016-10-07 14:05:29 -07:00
Natalie Weizenbaum
ae9d4e312f
Support url() expressions.
2016-10-07 14:05:29 -07:00
Natalie Weizenbaum
0e8c548955
Properly wrap URI parse errors.
2016-10-07 14:05:29 -07:00
Natalie Weizenbaum
6c36a01d89
Support @else.
2016-10-07 14:05:29 -07:00
Natalie Weizenbaum
89e095d2c2
Add a bunch of API docs.
2016-09-30 18:42:41 -07:00
Natalie Weizenbaum
a6065fb4ab
Reformat runtime parse errors.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
10ece577c3
Parse colors.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
e07ae949a1
Error for duplicate arguments.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
01915c3fa8
Tweak TODO.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
f7c9ccc9ba
Support special functions.
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
25c16b975e
Fix a parser bug.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
4289011a84
Parse em properly.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
b47067ea4e
Add if().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
534ac2e511
Add simple-selectors().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
29ff1887a8
Add selector-nest().
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
84d1339043
Parse function declaration parameters.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
e4e445b8d4
Fix argument parsing.
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
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