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
b2ffc1ba08
Support --trace.
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