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
9751f8e459
Fix a couple extend crashes.
2016-10-18 22:16:12 -07:00
Natalie Weizenbaum
25c5554908
Fix rgba() with two arguments.
2016-10-18 22:03:53 -07:00
Natalie Weizenbaum
f71ff95cb4
Fix !global parsing.
2016-10-18 22:00:44 -07:00
Natalie Weizenbaum
c44481ba29
Fix blank lists in property values.
2016-10-18 21:53:08 -07:00
Natalie Weizenbaum
870a2a4f4a
Update number equality.
2016-10-18 21:39:29 -07:00
Natalie Weizenbaum
2ff4ec3e71
Fix codeUnitIndexToCodepointIndex.
2016-10-18 20:55:16 -07:00
Natalie Weizenbaum
29574d345a
Fix media query serialization.
2016-10-18 20:44:29 -07:00
Natalie Weizenbaum
3a795c6fe6
Fix to-*-case() again.
2016-10-18 20:40:56 -07:00
Natalie Weizenbaum
101904d26c
Fix unquoted + quoted.
2016-10-18 20:34:03 -07:00
Natalie Weizenbaum
cf3cf07c93
Preserve units through unary minus.
2016-10-18 18:32:54 -07:00
Natalie Weizenbaum
358fd0db50
to-*-case() shouldn't be Unicode-aware.
2016-10-18 18:30:00 -07:00
Natalie Weizenbaum
d38722e36d
Fix comment output.
2016-10-18 18:19:56 -07:00
Natalie Weizenbaum
4befdfff42
Consume whitespace after SCSS comments.
2016-10-18 18:17:27 -07:00
Natalie Weizenbaum
e756e298a4
Fix random().
2016-10-18 18:16:55 -07:00
Natalie Weizenbaum
84e4cb25b8
Properly parse or.
2016-10-18 17:57:25 -07:00
Natalie Weizenbaum
2b2061f7e5
Treat empty unquoted strings as blank.
2016-10-18 17:53:40 -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
54e87dce7f
Fix feature-exists().
2016-10-18 17:44:05 -07:00
Natalie Weizenbaum
594787a0ba
Fix plain-CSS invert().
2016-10-18 17:41:49 -07:00
Natalie Weizenbaum
99e0a1100f
Fix unquoted string serialization again.
2016-10-18 17:36:13 -07:00
Natalie Weizenbaum
0a6ebc6f8c
Serialize null to the empty string.
2016-10-18 17:24:12 -07:00
Natalie Weizenbaum
9e03630b3c
Ensure uniqueness for unique-id().
2016-10-18 17:24:07 -07:00
Natalie Weizenbaum
61dfecc697
Use exit code 65 for Sass errors.
2016-10-18 17:12:42 -07:00
Natalie Weizenbaum
5b4348f8bf
Fix broken type annotations.
2016-10-18 17:05:53 -07:00
Natalie Weizenbaum
98f063f59d
Fix selector parsing.
2016-10-18 17:04:30 -07:00
Natalie Weizenbaum
4d54c5d351
Fix units for coercing number operations.
2016-10-18 16:48:42 -07:00
Natalie Weizenbaum
acb3b3712d
Properly inspect singleton lists.
2016-10-18 16:38:28 -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
dd4a9165a2
Fix StringExpression.toInterpolation().
2016-10-18 16:02:09 -07:00
Natalie Weizenbaum
0f6f44f939
Fix parsing of binary -.
2016-10-18 15:52:54 -07:00
Natalie Weizenbaum
5791e1425a
StringExpression.toString().
2016-10-18 15:52:23 -07:00
Natalie Weizenbaum
11dad49c6d
Properly escape backspace characters.
2016-10-18 15:51:57 -07:00
Natalie Weizenbaum
04de51b5d1
Fix attribute selector authoring.
2016-10-18 15:25:42 -07:00
Natalie Weizenbaum
6981428c25
Properly inspect lists.
2016-10-18 15:23:59 -07:00
Natalie Weizenbaum
b5ccb26b9b
Consider null blank.
2016-10-18 15:23:19 -07:00
Natalie Weizenbaum
e7024437d8
Use Ruby Sass string semantics.
2016-10-18 15:17:46 -07:00
Natalie Weizenbaum
286b24afca
Fix number equality.
2016-10-18 14:26:52 -07:00
Natalie Weizenbaum
45becee133
Escape ASCII non-printable string contents.
2016-10-17 17:56:39 -07:00
Natalie Weizenbaum
98f1c7dca3
Fix a unit conversion bug.
2016-10-17 17:42:19 -07:00
Natalie Weizenbaum
8969fc75f2
Store numbers' original values.
2016-10-17 16:50:43 -07:00
Natalie Weizenbaum
d5aa9e7f82
Write escapes when serializing unquoted strings.
2016-10-17 14:55:02 -07:00
Natalie Weizenbaum
beb5cc1794
Properly remove quotes when stringifying.
2016-10-16 19:13:13 -07:00
Natalie Weizenbaum
7f6c70f821
Add Value.toCssString().
2016-10-16 19:01:23 -07:00
Natalie Weizenbaum
604fa597e5
InternalException -> SassScriptException
2016-10-16 18:46:38 -07:00
Natalie Weizenbaum
c41f2bb023
Properly serialize numbers.
2016-10-16 14:07:30 -07:00
Natalie Weizenbaum
ddf6452f20
Generate rgba() rather than rgb().
2016-10-16 12:15:49 -07:00
Natalie Weizenbaum
90d9ed03cc
Fix a couple infinite-loop bugs.
2016-10-16 12:09:42 -07:00
Natalie Weizenbaum
d276bfb206
Finish API docs.
2016-10-15 16:57:54 -07:00
Natalie Weizenbaum
38f15a96f3
Expose _PerformVisitor as a top-level function.
2016-10-15 14:31:21 -07:00
Natalie Weizenbaum
441ca87f37
Way more API docs.
2016-10-15 02:57:29 -07:00
Natalie Weizenbaum
a2889e4a75
Start supporting public Dart and Node APIs.
2016-10-14 18:24:50 -07:00
Natalie Weizenbaum
68bd26637a
Build an NPM module.
2016-10-14 17:39:28 -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
d90b8e52ae
Support compiling to node.js.
2016-10-07 15:05:56 -07:00
Natalie Weizenbaum
2289901df8
Support url() imports.
2016-10-07 14:05:54 -07:00
Natalie Weizenbaum
c4ea6012dc
Optimize SerializeVisitor._visitString.
2016-10-07 14:05:29 -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
bc45cf6d54
Remove outdated TODO.
2016-09-30 16:58:17 -07:00
Natalie Weizenbaum
f15d3d8e59
Add a few missing valueToCss() calls.
2016-09-30 16:44:47 -07:00
Natalie Weizenbaum
ea4a171198
Fix new analysis issues.
2016-09-30 16:41:22 -07:00
Natalie Weizenbaum
a6065fb4ab
Reformat runtime parse errors.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
ca4e27470f
Don't allow parent selectors in @extend targets.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
10ece577c3
Parse colors.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
a3509e2947
Remove an outdated TODO.
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
1a2bc5ffc9
Support calc-aware functions.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
edc6cbfab8
Use valueToCss() in functions.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
f7c9ccc9ba
Support special functions.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
9f21fa943e
Make transitive @extend work.
...
Loops are still kind of iffy.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
9d2d8652dc
@extend into pseudo-selectors
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
390d0ac482
Remove another outdated TODO.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
265a4c8946
Preserve newlines through @extend.
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
98c5ffae9a
Fix nested selector ordering.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
79630cdc47
Properly serialize parent selectors.
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
ae2ab6ec58
Remove outdated TODO.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
f460ebb2a9
Parse functions -> constructors
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
1987d0b055
Add unique-id().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
af4234aedd
Add call().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
ad1bbcc9bc
Add comparable().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
69b61b1dc9
Fix unit stuff.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
4a42f948f9
Add unit(), unitless().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
138bb6bace
Add type-of.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
0b7a448d76
Add function-exists(), mixin-exists().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
a9122ad162
Add variable-exists(), global-variable-exists().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
8455903435
Add feature-exists().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
44d9ee54a9
Add selector-parse().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
534ac2e511
Add simple-selectors().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
046e17da17
Add is-superselector().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
754b1895ac
Add selector-unify().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
a993a7667e
Add selector-replace().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
63ec19f469
Fix a formatting nit.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
f449fa0a98
Fix another extend bug.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
6fc656d260
Fix an extend bug.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
54f4a23d99
Add selector-extend().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
4a4cc3c277
Add selector-append().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
29ff1887a8
Add selector-nest().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
a5c1021035
Tweak function headers.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
5800b9358f
Add map-has-key() and keywords().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
643771349f
Add map-keys(), map-values().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
7ece4671fc
Add map-remove().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
3421172bcb
Add map-get(), map-merge().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
216ffece4b
Fix some map/list equivalence stuff.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
f3a4b07212
Fix fuzzyHashCode() to always return an int.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
6a949b027a
Add index(), list-separator(), is-bracketed().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
6debf1e39a
Add zip().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
f7fbbb075a
Add append().
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
4c9751fbb4
Add join().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
582afa3a20
Add set-nth().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
7418b78902
Add nth().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
d316f828fa
Add length().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
816e32f08b
Add Environment.defineFunction().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
158ac11d43
Add TODOs for persistent data structures.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
8f9d2d3207
Add random().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
aed2a99234
Add max() and min().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
0bf39726a3
Add round(), ceil(), floor(), abs().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
b0a675ab14
Add percentage().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
e1a6178ced
Add to-upper-case() and to-lower-case().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
8d5228b368
Add str-slice().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
ff2d9f89e9
Add str-index().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
8fd5818977
Add str-insert().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
41eec3c779
Add str-length().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
b8d89ad80d
Add quoted(), unquoted().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
fb045bb955
Add ie-hex-str().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
7e0f642cd1
Use fuzzy rounding for consistency with Ruby Sass.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
4ff89b1aff
Add change-color().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
3cbbe101f1
Add scale-color().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
fc4e6afad8
Add adjust-color().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
8b8f6bfbee
Add opacify() et al
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
04b012befe
Add opacity().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
09a8198a01
Add alpha().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
f499f31b64
Add grayscale(), complement(), invert().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
5873083110
Add lighten(), darken(), saturate(), desaturate().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
d2591122db
Add adjust-hue().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
b529ac643c
Add hsla(), hue(), saturation(), and lightness().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
30df7507c8
Add hsl().
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
dd85c34ae2
Use fuzzy comparisons for number operations.
...
Also implement ==, which apparently didn't exist for numbers yet.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
dbd55e16d8
Add red(), green(), and blue().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
048d7cff33
Add mix().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
227329f9c3
Add rgba().
...
This also adds built-in function overloading. This adds some extra
layers to the default function-call logic which could be avoided by
handling overloading purely in the callbacks of functions that require
it, but it's not clear how to share logic gracefully between the perform
visitor and function helpers.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
5cc5bf1914
Add rgb().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
dd8a0efd66
Add an ArgumentList class.
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
Natalie Weizenbaum
3329ba80b8
Re-add CssValue.toString().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
af61587807
Better known identifier parsing.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
913e81faaa
Remove fixed TODOs.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
bde9c353f5
Further improve list serialization.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
ee7c3e5c3c
Support expression &.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
db0cea9870
Fix some bugs with combinators.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
5e23c99b22
Get rid of more redundant toString() definitions.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
53635def75
Fix map serialization.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
232ee90b4d
Fix parenthesis parsing.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
efd336dd20
Support null.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
1832879845
Support @each
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
e873242ac4
Support @while
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
80f0afb484
Support @for.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
202fcad40f
Name all at-rules *Rule.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
f85b21a3c3
Support @error
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
69aabed63d
Support @warn
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
da1cef3f6f
Move advanced list paren logic to serializer.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
7a5029b5ae
Support @debug.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
e8fdcc586a
Add runtime exceptions and stack traces.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
60b8aae55f
No more throwing strings.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
da7a58645e
Add a proper exception class.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
987eee5c0a
Support @extend !optional.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
507ae1790a
ExtendRule -> Extend
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
3fb3ae1f3b
Throw if an extend doesn't match.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
92f657db46
Don't emit placeholders.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
673db13d51
Move emptiness-checking to the serializer.
...
We can't actually know if a rule will be empty until we've evaluated the
entire stylesheet, since it might contain a placeholder that may or may
not be extended.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
cc56ea0f13
Implement CssNode.toString() using toCss().
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
e607e7914f
Support @at-root.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
17c5814a15
Fix a formatting nit.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
0f82f72fa4
Fix media query parsing.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
d3d4427028
Fix quoted strings in interpolation.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
0fe62a04a6
@supports support.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
07a79e4557
Fix color serialization.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
7b5f8c7284
Fix an @extend bug.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
def4ffea0f
Fix a selector-parsing bug.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
9b183ed32c
Clean up output of childless rules.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
83c8c1a9b7
Add args support.
...
It doesn't really do anything yet.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
80e111eb56
Properly parse whitespace-only files.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
e2eb590ce6
Set precision to 10.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
cdc3065dfb
Make visitor interfaces wholly abstract.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
ffb85921cb
Buggy implementation of CSS @import.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
47929dfde3
Support @import.
...
CSS @import is still unsupported.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
f1ce6ea599
Format all code.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
faa86b697c
Make (most) spans mandatory.
...
Arguments are still optional since they may be constructed for
user-defined arguments.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
82aca21682
Add @if.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
c4cda30bc0
Validate dynamic children.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
0f20b58044
Clean up at-rule parsing.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
0573fa7709
@content support.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
3b3e3046fd
Fix variable parsing.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
ceacb840b3
Fix function/mixin scoping.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
631f0870ac
Make Environment.scope scope mixins and functions.
2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
bbaf8a5a2f
Run arguments in the right environment.
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
fcaa696f02
Re-organize AST files.
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
6951774d70
Add a CallableInvocation interface.
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
32db51f005
Add built-in functions.
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
709f564f21
Refactor _runCallable.
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
cba5881eb4
Remove redundant parameters.
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
4e0a511570
Add mixins.
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
7692d61ef4
Fix Environment.setFunction().
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
64c2453a35
Fix printing of childless at-rules.
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
0498e8a95c
InterpolationExpression -> Interpolation
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
860f761c27
"Separator independent" -> "normalized"
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
50912350af
Add support for functions.
...
Argument list objects are still not implemented.
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
cbe3709914
Default values for boolean parameters.
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
43027bf84a
Fix list parsing.
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
7bac6790af
Merge both perform visitors together.
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
77dd5c1e84
Make underscores and dashes equal.
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
113b4787ed
Stylistic consistency.
2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
977bb9c3d2
Use unvendor() in Pseudo.
...
Also, fix unvendor().
2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
02a9780b43
Fix selector pseudo parsing.
2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
55e81951b2
Stringify the parent selector normally.
2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
64e4954656
Fix some pseudo bugs.
2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
0a0f7837b0
Parent selector support.
2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
e58af84cc6
Fix an analysis error.
2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
cf086471c6
Nested properties.
2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
dbf2c18ae6
Move selector serialization to the visitor.
2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
ce979fba35
Remove a TODO that's already been done.
2016-08-30 15:51:21 -07:00