Commit Graph

615 Commits

Author SHA1 Message Date
Sam Rawlins
457a333727 Add indentType and indentWidth parameters (#136)
See #8
2017-06-02 15:42:22 -07:00
Sam Rawlins
7677ab1ba4 Parse declaration children before building its span (#149) 2017-06-01 15:36:16 -07:00
Natalie Weizenbaum
59e782e4dc Fix rounding behavior. (#147) 2017-05-29 17:07:21 -07:00
Natalie Weizenbaum
f8f90dc1e3 Improve the output of pseudo selectors.
Specifically, if a pseudo selector takes arguments and those arguments
had trailing whitespace in the source document, they no longer have
trailing whitespace in the output.
2017-05-28 16:21:58 -07:00
Natalie Weizenbaum
0ae7372d75 Allow compound extendees in selector functions. 2017-05-28 16:00:37 -07:00
Natalie Weizenbaum
b4d1d95889 Don't use partially-extended selectors as parents. 2017-05-28 15:54:18 -07:00
Sam Rawlins
2fd9df9b2c Fix ArgumentDeclaration.toString() when no args except rest (#145) 2017-05-28 14:20:01 -07:00
Natalie Weizenbaum
566156b3be Don't trim original compound selectors. 2017-05-27 17:47:34 -07:00
Natalie Weizenbaum
5a95a72771 Extend existing extensions.
This allows us to support cases where an extension's extender is itself
extended after it's declared but before it's used.
2017-05-27 17:47:34 -07:00
Natalie Weizenbaum
57fd640b43 Move _extendExistingStyleRules into a method. 2017-05-27 17:47:34 -07:00
Natalie Weizenbaum
44244a2e88 Don't register a selector unnecessarily. 2017-05-27 17:47:34 -07:00
Natalie Weizenbaum
4193b6346b Simplify specificity propagation.
A simple selector's source specificity should only come from its
original complex selector, and shouldn't be modified by extensions.
2017-05-27 17:47:34 -07:00
Natalie Weizenbaum
9cfbf79f47 Check extend usage after the fact.
This means that extensions that match but fail to unify are valid, but
we think that's okay; see sass/sass#2250.
2017-05-27 17:47:34 -07:00
Natalie Weizenbaum
9ded7e9e68 Use Maps rather than Expandos in Extender.
This seems to be substantially faster, at least on the VM.
2017-05-27 17:47:34 -07:00
Natalie Weizenbaum
2f1fbcde69 Extend compound selectors in parallel.
Rather than extending each selector individually and unifying them with
the un-extended rest, this extends everything in one step and unifies in
the next.
2017-05-27 17:47:34 -07:00
Natalie Weizenbaum
0e7ec951c3 Fix universal selector unification.
See sass/sass#2247
2017-05-27 17:47:34 -07:00
Natalie Weizenbaum
5a9b11084b Track the extender in the ExtendState.
Also rename it Extension.
2017-05-27 17:47:34 -07:00
Natalie Weizenbaum
fe286487bd Track extenders by complex selector.
This allows us to share more logic if selector lists overlap.
2017-05-27 17:47:34 -07:00
Natalie Weizenbaum
4173ffc901 Factor out _maybeExtendPseudo from _extendCompound. 2017-05-27 17:47:34 -07:00
Natalie Weizenbaum
454171d7a0 Clean up _extendComplex by removing a variable. 2017-05-27 17:47:34 -07:00
Natalie Weizenbaum
c006fd8f14 Choose color names in alphabetical order. (#144) 2017-05-27 17:44:43 -07:00
Natalie Weizenbaum
4243535941 Update the formatter version. 2017-05-27 17:18:13 -07:00
Sam Rawlins
3b6f5ec3a0 Add a separator character to ListSeparator (#133) 2017-05-25 12:56:12 -07:00
Natalie Weizenbaum
61da3ec6b7 Disallow all top-level declarations and extend. (#141)
We were previously allowing declarations and extend in control
directives at the top level of documents, as long as those documents
were only ever imported in a nested context.
2017-05-25 12:18:57 -07:00
Natalie Weizenbaum
d4db75a8f9 Merge pull request #140 from sass/fixes
Fix a number of small bugs.
2017-05-19 18:59:17 -07:00
Natalie Weizenbaum
b3a00edec1 Properly parse unary operators after commas.
Closes #138
2017-05-18 18:13:33 -07:00
Natalie Weizenbaum
a4a2a26464 Allow /***/ in selectors.
Closes #135
2017-05-18 17:56:20 -07:00
Natalie Weizenbaum
372ef02aa6 Fix a string inspection crash.
This was being triggered for parse errors, because we inspect the
selector expression when we generate the error.

Closes #134
2017-05-18 17:39:47 -07:00
Natalie Weizenbaum
e840bd0927 Support "url" as an identifier name.
Closes #132
2017-05-18 17:38:54 -07:00
Natalie Weizenbaum
42786fd6cf Allow Parser.debug() to take any value. 2017-05-18 17:27:31 -07:00
Natalie Weizenbaum
b8c52743f6 Fix analysis errors. 2017-05-18 17:11:32 -07:00
Natalie Weizenbaum
7248cf0e27 Use real generic method syntax. 2017-05-18 17:11:32 -07:00
Natalie Weizenbaum
0556665f64 Fix @supports (not ...). (#125) 2017-05-18 17:05:58 -07:00
Natalie Weizenbaum
7182ea2fad Merge branch 'master' into fixes 2017-02-22 20:50:16 -08:00
Natalie Weizenbaum
716157f4bc Drop support for the reference combinator. (#123) 2017-02-22 20:48:56 -08:00
Natalie Weizenbaum
2f53f85053 Fix another extend edge-case. 2017-02-16 18:41:11 -08:00
Natalie Weizenbaum
7fe9dd8735 Fix hacky combinator unification. 2017-02-16 18:31:06 -08:00
Natalie Weizenbaum
2f86427ab8 Lazily re-compute indices for closures. (#120)
This produces a substantial speedup on Susy's tests.
2017-02-16 15:15:13 -08:00
Natalie Weizenbaum
18f4c1b801 Merge pull request #117 from sass/fixes
Fix more bugs.
2017-02-08 14:25:24 -08:00
Natalie Weizenbaum
89a7888a0e Properly isolate callable environments. 2017-02-04 14:16:29 -08:00
Natalie Weizenbaum
5e4d260c2a Fix a @content bug. 2017-02-04 12:39:23 -08:00
Natalie Weizenbaum
231a85be38 Improve Node file load speed. (#110) 2017-02-04 12:20:34 -08:00
Natalie Weizenbaum
79261fee8e Add boolean short-circuiting. 2017-02-03 17:37:54 -08:00
Natalie Weizenbaum
b32e5f96ce Fix a multi-combinator extend edge case. 2017-02-03 16:49:55 -08:00
Natalie Weizenbaum
73be343be5 Fix a selector pseudo superselector edge case. 2017-02-03 16:15:15 -08:00
Luis Vargas
cfc3a15041 Support package: URLs as a Dart library (#53) 2017-02-03 01:08:06 -08:00
Natalie Weizenbaum
e1c0c95f3a Merge remote-tracking branch 'origin/master' into fixes 2017-02-02 14:48:15 -08:00
Natalie Weizenbaum
35d1af51d1 Update namespace extend per sass/sass#2229. (#106) 2017-01-26 20:12:22 -08:00
Natalie Weizenbaum
c26615386b Reject unknown named parameters. 2017-01-26 20:09:45 -08:00
Natalie Weizenbaum
4b614166ca Fix numbers divided by colors. 2017-01-26 20:08:49 -08:00
Natalie Weizenbaum
56e41b3ad0 Fix some slash division edge cases. 2017-01-15 16:09:27 -08:00
Natalie Weizenbaum
ad622039bd Support backslash CRLF in quoted strings. 2017-01-15 15:53:19 -08:00
Natalie Weizenbaum
54c65c1e8d Pass keyword args through call(). 2017-01-15 15:34:17 -08:00
Natalie Weizenbaum
31cc3fc521 Add a span to call()'s rest arguments. 2017-01-15 15:24:35 -08:00
Natalie Weizenbaum
0000c4a7e9 Detect import loops. 2017-01-15 15:15:46 -08:00
Natalie Weizenbaum
6a4eafe915 Fix attribute selectors with single-char values. 2017-01-15 14:45:05 -08:00
Natalie Weizenbaum
b95880d629 Improve indented syntax error messages. 2017-01-15 14:37:52 -08:00
Natalie Weizenbaum
84d6c07707 Fix not(). 2017-01-15 14:00:25 -08:00
Natalie Weizenbaum
6192dfd1b0 Fix division in @each. 2017-01-15 14:00:25 -08:00
Natalie Weizenbaum
9f25689654 Don't emit loud comments in functions. 2017-01-15 14:00:25 -08:00
Natalie Weizenbaum
04570bf828 Warn about named colors in interpolation. 2017-01-15 12:30:50 -08:00
Natalie Weizenbaum
4c95be3e5b Allow whitespace in indented mixin declarations. 2017-01-14 23:01:29 -08:00
Natalie Weizenbaum
2d28194e4c Fix %. 2017-01-14 22:54:13 -08:00
Natalie Weizenbaum
ca4d411362 Fix str-slice() again. 2017-01-14 22:39:28 -08:00
Natalie Weizenbaum
566c06df0e Fix unitless-to-unit number equality. 2017-01-14 22:17:57 -08:00
Natalie Weizenbaum
37f43417bc Handle a placeholder in a compound selector. 2017-01-14 21:40:56 -08:00
Natalie Weizenbaum
c50563e0b4 Handle placeholders in selector pseudos. 2017-01-14 21:30:37 -08:00
Natalie Weizenbaum
146d24e28e Fix split media queries. 2017-01-14 20:09:34 -08:00
Natalie Weizenbaum
015bb0d79f Support &1. 2017-01-14 18:27:50 -08:00
Natalie Weizenbaum
b695fa6461 merge with --$variables 2017-01-14 18:25:50 -08:00
Natalie Weizenbaum
247ab93eec Fix plain import parsing. 2017-01-14 17:53:39 -08:00
Natalie Weizenbaum
6b2d9e519c Support --$variable. 2017-01-14 17:38:57 -08:00
Natalie Weizenbaum
6bc4fb1c34 Test a unit-parsing edge case on Dart Sass. 2017-01-14 17:06:05 -08:00
Natalie Weizenbaum
c415dd068d Fix the $weight parameter for invert(). 2017-01-14 16:54:19 -08:00
Natalie Weizenbaum
d86c90bb0b Add spans to toCssValue() errors. 2017-01-14 16:46:52 -08:00
Natalie Weizenbaum
d491ab5916 Fix selector error handling. 2017-01-14 15:30:44 -08:00
Natalie Weizenbaum
28efbe1df3 Fix type-of() with a function. 2017-01-14 15:14:57 -08:00
Natalie Weizenbaum
05acf01e58 Forbid more illegal function names. 2017-01-14 15:08:55 -08:00
Natalie Weizenbaum
eab36eafe5 Fix @import with supports(). 2017-01-14 14:56:33 -08:00
Natalie Weizenbaum
9031a7f554 Fix variable scoping in @at-root. 2017-01-14 14:20:44 -08:00
Natalie Weizenbaum
989ffcb53c Forbid & after compound. 2017-01-14 13:43:40 -08:00
Natalie Weizenbaum
dbdd4d72d5 Support & in @at-root. 2017-01-14 13:39:00 -08:00
Natalie Weizenbaum
91b7178e2a Fix ID equality. (#99) 2017-01-13 16:26:03 -08:00
Natalie Weizenbaum
016fe59d1f Forbid extending across media queries. 2017-01-13 01:53:04 -08:00
Natalie Weizenbaum
354b7e694e Remove an unnecessary toList() call. 2017-01-13 00:22:06 -08:00
Natalie Weizenbaum
d4e804f912 Improve custom property indentation. 2017-01-08 23:45:06 -08:00
Natalie Weizenbaum
c507afe46e Fix whitespace after "...". 2017-01-08 23:29:07 -08:00
Natalie Weizenbaum
d8a299845d Support nested ; and ! in custom property values. 2017-01-08 22:59:58 -08:00
Natalie Weizenbaum
3c7daa3499 Support interpolation in loud comments. 2017-01-08 22:47:05 -08:00
Natalie Weizenbaum
7136b98b09 Support content-exists(). 2017-01-08 22:05:23 -08:00
Natalie Weizenbaum
bf771689f3 Fix SassMap.asList's return type. 2017-01-08 21:39:30 -08:00
Natalie Weizenbaum
7564b6a51a Include names in unit assertion errors. 2017-01-08 21:26:05 -08:00
Natalie Weizenbaum
de69e7ae1b Parse terse indented mixin syntax. 2017-01-08 17:13:08 -08:00
Natalie Weizenbaum
40be168635 Properly handle "..." after a digit. 2017-01-08 17:12:27 -08:00
Natalie Weizenbaum
8d7a8c7e12 Disallow invalid function names. 2017-01-08 17:12:11 -08:00
Natalie Weizenbaum
06609e4551 Support @-moz-document. 2017-01-08 17:11:52 -08:00
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