Commit Graph

86 Commits

Author SHA1 Message Date
Natalie Weizenbaum
7e0f642cd1 Use fuzzy rounding for consistency with Ruby Sass. 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
d2591122db Add adjust-hue(). 2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
30df7507c8 Add hsl(). 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
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
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
53635def75 Fix map serialization. 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
80f0afb484 Support @for. 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
e2eb590ce6 Set precision to 10. 2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
f1ce6ea599 Format all code. 2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
82aca21682 Add @if. 2016-08-30 15:51:23 -07:00
Natalie Weizenbaum
cbe3709914 Default values for boolean parameters. 2016-08-30 15:51:22 -07:00
Natalie Weizenbaum
6c0a2547b0 Re-organize visitors. 2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
a206fdcddb Fix analysis. 2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
3108dc46e9 Add a default Value.toString(). 2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
0b7ea7d8c9 Add nested list parenthsization. 2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
6c6bd715ee Add maps. 2016-08-30 15:51:21 -07:00
Natalie Weizenbaum
a2d645ee73 Add bracketed lists. 2016-08-30 15:51:20 -07:00
Natalie Weizenbaum
a23aa018b0 Support hex colors. 2016-08-30 15:51:18 -07:00
Natalie Weizenbaum
13e3bd7707 Prefix all values. 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
dadcebf2c9 Add a dedicated serializer. 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
01e31fe4ad Add CSS and Value visitors. 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
e5cf8d5738 Numbers. 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
8f44bd8daa Booleans and unary not. 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
27a819243b Parens 2016-08-30 15:51:17 -07:00
Natalie Weizenbaum
22b87bed6e Add a value type. 2016-08-30 15:51:16 -07:00