723 Commits

Author SHA1 Message Date
Connor Skees
7979158465 simplify parsing of @function and throw error on invalid @charset 2021-07-20 20:41:21 -04:00
Connor Skees
2ec365ddfc simplify lookahead in variable flag parsing 2021-07-20 11:15:19 -04:00
Connor Skees
2969f08e43 simplify lookahead for @for 2021-07-20 11:04:14 -04:00
Connor Skees
a34aa32128 simplify lookahead for @use and @media 2021-07-19 20:50:12 -04:00
Connor Skees
c2e84e3854 update changelog 2021-07-19 19:52:09 -04:00
Connor Skees
839f101829 emit comments inside @if rule 2021-07-14 21:19:38 -04:00
Connor Skees
1a660c7aa8 more correctly emit newlines around 2021-07-14 21:09:30 -04:00
Connor Skees
be9eb8e0b0 improve code coverage
also identified dead code and a bug in saturation and hue fns
2021-07-14 01:40:11 -04:00
Connor Skees
03f48cfd22 more robustly parse comments inside min and max 2021-07-12 02:22:13 -04:00
Connor Skees
8e08a5de4f support special fns inside min and max 2021-07-12 01:59:30 -04:00
Connor Skees
7ad2da040f support min and max as arguments to min and max 2021-07-11 02:13:05 -04:00
Connor Skees
bc49c2b8ee add tests for compressed output 2021-07-10 12:52:41 -04:00
Connor Skees
142bc9da10 support builtin map.set 2021-07-04 18:59:35 -04:00
Connor Skees
81d5dbbb7e implement math.div 2021-07-04 16:19:38 -04:00
Connor Skees
5d268be2ed support hwb color space 2021-07-04 15:53:27 -04:00
Connor Skees
5c61f8ccaa :is is alias for :matches 2021-07-04 11:48:13 -04:00
Connor Skees
2b72a1fc0d avoid deep recursion in extend 2021-07-04 11:32:19 -04:00
Connor Skees
a555352713 better support negative modulo 2021-07-04 00:37:04 -04:00
Connor Skees
2ff3524ac2 support arg to map-merge 2021-07-03 23:17:31 -04:00
Connor Skees
e5d73ac265 don't read multiple stars in comment eagerly 2021-07-03 18:42:39 -04:00
Connor Skees
884b92f476 remove test macro shorthand for unchanged output 2020-11-20 04:34:36 -05:00
Connor Skees
27eeaeef08 plain-css invert accepts numbers of any unit 2020-11-16 03:09:40 -05:00
Connor Skees
f92a071434 move plain css imports to the top of the file
this is a bit of a hack as it does not currently account for multiline
comments (/**/) that precede these imports, but this should largely be a
cosmetic bug as opposed to one that can break programs.
2020-11-16 02:35:52 -05:00
Midas Lambrichts
7539762a0c
Resolve NaN todo!()s for addition and subtraction with other numbers (#40)
* Replace todo's for propagating NaN

* Propagate NaN for remainder as well
2020-09-13 18:08:41 -04:00
Midas Lambrichts
8e060950d5
Fix panic when progid is the last token by removing unwrap (#39)
* Fix panic when progid by removing unwrap

* Incorporate PR feedback
2020-08-24 19:35:55 -04:00
Connor Skees
605f4f3d6b allow = and == in media queries 2020-08-22 19:18:28 -04:00
Connor Skees
b03561bc37 add test for multiline comments between function name and args 2020-08-21 19:38:43 -04:00
Connor Skees
c44f20d377 allow whitespace between mixin name and args 2020-08-21 19:36:11 -04:00
Connor Skees
feb75800c8 allow whitespace between @content and its args 2020-08-21 19:27:44 -04:00
Connor Skees
4635f76fa5 add test for integer overflow in division 2020-08-21 07:00:42 -04:00
Connor Skees
5bf03c15d6 consume utf8 bom in parser, not lexer 2020-08-21 06:54:03 -04:00
Connor Skees
c19eda6f89 deny scientific notation exponents below -99
1e999 and 1e-999 were able to cause hangs as we use arbitrary precision
numbers rather than floating point. this may change in the future (see
sass/sass#2892)
2020-08-20 18:55:00 -04:00
Connor Skees
921b6e4f8d do not panic on modulo by 0 2020-08-20 18:55:00 -04:00
Connor Skees
6849cd578f refactor variable value parsing to use predicates 2020-08-19 07:13:32 -04:00
Connor Skees
c89013d607 add test for malformed bracketed list missing closing brace 2020-08-19 05:26:24 -04:00
Connor Skees
0d7208ccf0 add tests for numbers plus !important, colors, and arglists 2020-08-19 04:14:49 -04:00
Connor Skees
d9d9777467 add tests for bools and important plus quoted string 2020-08-19 04:02:47 -04:00
Connor Skees
cb1eecde74 add tests for nan in unary ops 2020-08-19 03:52:45 -04:00
Connor Skees
ff52e56600 test for single hash to calc and url 2020-08-19 03:49:12 -04:00
Connor Skees
849a8b4414 resolve todo!() on malformed @use missing string 2020-08-19 03:14:33 -04:00
Connor Skees
7358eb16dc resolve todo!() inside malformed module fn call 2020-08-18 12:29:01 -04:00
Connor Skees
b771befed4 remove utf8 BOM from start of files 2020-08-18 06:20:38 -04:00
Connor Skees
6debd2ef52 !global variables declared inside control flow not at root do not also add variable to current scope 2020-08-18 05:55:54 -04:00
Connor Skees
6630a1c2ea correctly handle!global variables inside control flow when not at root 2020-08-18 03:55:26 -04:00
Connor Skees
48de92fdc0 ambiguous keyword operators are not treated as function calls 2020-08-18 03:06:52 -04:00
Connor Skees
00a7659e69 refactor calculation of default variables 2020-08-18 00:17:12 -04:00
Connor Skees
8d1e8a99c5 refactor how default variables are evaluated 2020-08-17 06:16:18 -04:00
Connor Skees
44ecd82454 add ignored test for silent comment in attribute 2020-08-17 05:13:30 -04:00
Connor Skees
9548eb6deb convert single quotes to double quotes in calc 2020-08-17 04:48:11 -04:00
Connor Skees
7acaa94870 better handle strings passed to special css functions 2020-08-17 04:35:00 -04:00