Commit Graph

469 Commits

Author SHA1 Message Date
Natalie Weizenbaum
330326c7f7 Fix @at-root query parsing. 2017-01-08 17:11:31 -08:00
Natalie Weizenbaum
51eb75567a Report stack traces along with import errors. 2017-01-06 21:38:48 -08:00
Natalie Weizenbaum
d7caf7fbc1 Gracefully handle invalid UTF-8.
This will be even more graceful when dart-lang/sdk#28293 is fixed.
2017-01-06 21:31:29 -08:00
Natalie Weizenbaum
8c4f0bdf81 Fix superselector computation for :not(). 2017-01-06 21:31:09 -08:00
Natalie Weizenbaum
ce36eb5b10 Forbid functions and mixins in control directives. 2017-01-06 17:46:38 -08:00
Natalie Weizenbaum
7ccccbc2ba Fix unit coercion in @for. 2017-01-06 17:46:12 -08:00
Natalie Weizenbaum
4f686c31c5 Improve formatting for disallowed import errors.
We had only been highlighting the argument; now we highlight the entire
rule.
2017-01-06 17:45:35 -08:00
Natalie Weizenbaum
a7c6a1ad5b Fix String.asInterpolation().
We were checking if its contents was an Interpolation, when we should
have been checking for an Expression.
2017-01-06 17:45:34 -08:00
Natalie Weizenbaum
f5b04abd8b Fix InterpolationBuffer.toString(). 2017-01-06 16:45:17 -08:00
Natalie Weizenbaum
d65978e27a Ignore empty lines in the indented syntax. 2017-01-06 15:05:16 -08:00
Natalie Weizenbaum
10c02b3362 Don't throw bogus indentation errors.
If we saw a line with no spaces, we thought the document couldn't have
any spaces anywhere.

Closes #87
2017-01-06 14:53:12 -08:00
Natalie Weizenbaum
63b39479e1 Fix *-exists(). (#86)
These were always using the global scope rather than the lexical scope.
They've been moved into the perform visitor so that they have access to
the lexical environment instead.
2017-01-06 14:43:34 -08:00
Natalie Weizenbaum
bf464f0539 Fix str-insert() with negative indices. (#85) 2016-12-29 17:14:36 -08:00
Natalie Weizenbaum
a212999554 Properly parse URLs containing "//" and "/*". (#84) 2016-12-29 15:24:45 -08:00
Natalie Weizenbaum
beb1a0bd09 Properly handle extended pseudos.
There was a logic bug when we created a new selector that injected
extended pseudo-selectors into a previous selector. We would overwrite
the last selector after the original pseudo rather than overwriting the
pseudo itself.
2016-12-29 12:33:12 -08:00
Natalie Weizenbaum
f17edb83d8 Fix an allocation-avoidance case.
When extending a selector pseudo, if the selector was unchanged, we
weren't short-circuiting as we should have. This fixes that so now we
avoid allocations unless the selector actually changes.

Closes #81
2016-12-29 12:33:12 -08:00
Natalie Weizenbaum
69762ff0b0 Ignore duplicate extensions.
Closes #76
2016-12-20 17:41:21 -08:00
Natalie Weizenbaum
1d68c7a1c4 Fix selector equality. 2016-12-20 17:40:26 -08:00
Natalie Weizenbaum
3b6f01be84 Make ExtendSource.extender a plain SelectorList.
The span attached to the CssValue wasn't being used.
2016-12-20 17:40:23 -08:00
Natalie Weizenbaum
d5a8a3f725 Fix a few extend issues. (#75) 2016-12-19 15:23:14 -08:00
Natalie Weizenbaum
e5fb64e89f Preserve escapes in non-script identifiers. (#74) 2016-12-18 22:42:11 -08:00
Natalie Weizenbaum
9fdc8194fd Fix newlines in interpolation. (#73) 2016-12-18 22:19:50 -08:00
Natalie Weizenbaum
b4730dd6a6 Don't crash in *-color(). (#72) 2016-12-18 18:54:48 -08:00
Natalie Weizenbaum
41772a1739 Fix str-slice(). (#70)
See sass/sass#2211
2016-12-18 17:54:35 -08:00
Natalie Weizenbaum
9d678469d0 Support var() in plain CSS color functions. (#69)
See sass/sass-spec#1002
See sass/sass#2175
2016-12-16 18:20:03 -08:00
Natalie Weizenbaum
c91ace92ab Fix dp unit conversions. (#68)
See sass/sass#2143
2016-12-16 18:00:15 -08:00
Natalie Weizenbaum
b730e3f85c Support CSS import reordering. (#64) 2016-12-10 15:04:09 -08:00
Natalie Weizenbaum
717da0d5bb Improve the error message for a failed @extend. (#65) 2016-12-09 17:29:58 -08:00
Natalie Weizenbaum
65acb8b184 Allow #{...}--1. (#62) 2016-12-09 17:22:53 -08:00
Natalie Weizenbaum
779edfad3b Set mixin/function arguments locally. (#63) 2016-12-09 17:08:11 -08:00
Natalie Weizenbaum
5d96a2af20 Allow saturate($number). (#61) 2016-12-09 16:41:47 -08:00
Natalie Weizenbaum
9a7d2c879f Get rid of an unused utility class. 2016-12-09 15:57:09 -08:00
Natalie Weizenbaum
9ce2d30e2a Fix handling of **/. (#60)
We had been failing to close comments because we'd consume the second
asterisk and fail to register that it might be the one to end the
comment.

See sass/sass-spec#986
Closes #58
2016-12-09 14:02:26 -08:00
Natalie Weizenbaum
8b6548fc61 Add more CLI tests. 2016-12-02 17:39:28 -08:00
Natalie Weizenbaum
dd2fa6f574 Treat ".css" imports as plain imports. (#48) 2016-11-18 15:43:21 -08:00
Natalie Weizenbaum
f912bb97ac Fix another @extend bug.
We weren't computing parent superselectors correctly.
2016-11-15 00:57:04 -08:00
Natalie Weizenbaum
d1fa5341c9 Fix a bug with superselector calculations. 2016-11-15 00:02:31 -08:00
Natalie Weizenbaum
d71e530622 Fix bounds-checking for opacify() et al. 2016-11-14 22:46:58 -08:00
Natalie Weizenbaum
bcd66991f7 Fix parsing of :nth-*-child() selectors. 2016-11-14 11:12:34 -08:00
Natalie Weizenbaum
b9df6f1334 Fix @debug output. (#45) 2016-11-13 23:48:29 -08:00
Natalie Weizenbaum
2e0041d3c0 Don't disable placeholder unification.
I'm not sure why I made this fail in the first place.
2016-11-13 21:16:42 -08:00
Natalie Weizenbaum
f91c14c9e3 Fix mixin-exists(). 2016-11-13 21:07:41 -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
b9b8e3676f Fix an extend bug with combinators. (#43) 2016-11-13 17:38:14 -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
d691c77db5 Don't duplicate line/column info in error output. (#36)
All span information is now presented as a stack frame, and elided if
it's redundant with the existing stack.
2016-11-08 12:22:55 -08:00
Natalie Weizenbaum
db25251c49 Properly declare arguments for opacify et al. (#34)
Closes #32
2016-11-07 17:54:22 -08:00
Natalie Weizenbaum
c5508cac89 Fix parent selector resolution. (#33)
If a child selector list contained one complex selector with & and one
without, the latter's parent wouldn't be added automatically.

Closes #28
2016-11-07 17:11:34 -08:00