773 Commits

Author SHA1 Message Date
connorskees
65c1a9e833 improve code coverage, handle more builtin fn edge cases 2023-01-03 04:33:56 +00:00
Connor Skees
753c4960ca increase code coverage 2022-12-29 17:56:22 -05:00
Connor Skees
593f14e1c0 add test for interpolation in @include 2022-12-29 03:02:05 -05:00
Connor Skees
743ad7a340 increase code coverage 2022-12-28 21:42:58 -05:00
Connor Skees
6cd208f41d make crate compatible with 1.56.0 2022-12-28 17:57:11 -05:00
Connor Skees
9b6623190d allow escaped non-alphanumeric bytes in media queries 2022-12-28 17:09:55 -05:00
Connor Skees
494acb9933 update error message in test 2022-12-28 15:58:49 -05:00
Connor Skees
0a44a852f9 optimize repeated variable lookups 2022-12-28 15:50:20 -05:00
Connor Skees
bb937ae84f more robust handling of empty input after resolving interpolation 2022-12-28 14:41:36 -05:00
Connor Skees
31bbe8f60f make path input more permissive 2022-12-26 19:07:25 -05:00
Connor Skees
6322bae14c increase code coverage 2022-12-26 18:45:09 -05:00
Connor Skees
ffaee04613
rewrite parsing, evaluation, and serialization (#67)
Adds support for the indented syntax, plain CSS imports, `@forward`, and many other previously missing features.
2022-12-26 15:33:04 -05:00
Connor Skees
e2c32a66de load paths are local to executable, not SCSS file 2022-05-31 09:43:45 -04:00
Chris Morgan
3c5463ac4c
File system interception, and various other matters (#55) 2022-02-03 17:41:10 -05:00
Connor Skees
a6eb1fb88a properly emit 0 in compressed mode 2021-09-19 16:33:12 -04:00
Connor Skees
1517acb188 move hsla tests to separate file 2021-08-15 23:26:27 -04:00
Connor Skees
ced5483f38 add hsl tests for different unit types 2021-07-31 17:55:17 -04:00
Connor Skees
34fed92bdf add attribute selector test from sass issue tracker 2021-07-31 11:47:48 -04:00
Connor Skees
1f672c4c49 mixins and functions can use their module's scope 2021-07-31 11:42:20 -04:00
Connor Skees
a7999d2e5b modules contain their own module scope 2021-07-31 10:53:25 -04:00
Connor Skees
d101a36f0c modules use their own scope for module imports
this is a potentially breaking bugfix
2021-07-30 22:49:58 -04:00
Connor Skees
5dd425a878 update error message for invalid escape sequences 2021-07-30 06:49:15 -04:00
Connor Skees
ebccebfed1 support 2 arg special rgb/rgba 2021-07-30 06:44:29 -04:00
Connor Skees
2a7f0b6dbc support single arg special color fns 2021-07-30 06:25:12 -04:00
Connor Skees
1e2e32140b refactor parsing of special hsl/rgb fns 2021-07-30 06:15:22 -04:00
Connor Skees
c6cb7c1d68 support special fn clamp 2021-07-30 05:57:13 -04:00
Connor Skees
eadd7c5041 support special fns to single channel rgb/rgba/hsl/hsla 2021-07-28 03:13:00 -04:00
Connor Skees
4b94c8a948 add test for @import inside @media 2021-07-28 02:18:40 -04:00
Connor Skees
d07c1d3a06 support @at-root inside media query inside style rule 2021-07-28 02:08:20 -04:00
Connor Skees
63567da749 more robustly parse commas in call args 2021-07-28 00:35:49 -04:00
Connor Skees
f67b1c62e7 add large integration tests 2021-07-27 20:29:56 -04:00
Connor Skees
140890c279 refactor evaluation of order of operations 2021-07-25 22:51:33 -04:00
Connor Skees
2e1fa7ca2c improve handling of $base to math.log 2021-07-25 22:50:56 -04:00
Connor Skees
1c553fd8dc manually impl eq for Number, rather than derive 2021-07-25 16:12:47 -04:00
Connor Skees
94fe52a81d support compressed lists and number values 2021-07-25 09:57:55 -04:00
Connor Skees
86a1ffec42 refactor parsing of unknown at rules 2021-07-24 22:42:36 -04:00
Connor Skees
5acbc71071 improve handling of newlines for @at-root 2021-07-24 17:42:40 -04:00
Connor Skees
3ea5dd48b3 newline after @supports when nested inside style rule 2021-07-24 15:04:40 -04:00
Connor Skees
fccf93cd96 originals uses pointer equality check, rather than true equality 2021-07-24 14:42:21 -04:00
Connor Skees
b44f81bd60 newlines inside @supports are the same as outside 2021-07-24 01:18:36 -04:00
Connor Skees
36411e36d3 space between styles inside @supports 2021-07-24 00:58:12 -04:00
Connor Skees
6febd161af refactor how newlines are emitted between unrelated style rules
this makes our output of bootstrap correct, byte-for-byte
2021-07-23 22:35:08 -04:00
Connor Skees
548a5921e6 encountering placeholder selector resets has_written 2021-07-23 03:28:41 -04:00
Connor Skees
ec4fe9164d do not emit newline between media query and ruleset 2021-07-23 03:08:23 -04:00
Connor Skees
5c4f11e63d do not emit newline between media queries when they follow ruleset 2021-07-23 02:22:47 -04:00
Connor Skees
6b109a5c3d improve handling of newlines around comments 2021-07-23 01:50:26 -04:00
Connor Skees
0edb60e2b3 support three level extend loop
the last feature stopping us from semantic parity with `dart-sass` when
compiling bootstrap.

this was a difficult bug -- it essentially boiled down to the fact that
we weren't applying extensions to _super_ selectors.

i suspect that this has somehow broken another feature of `@extend`, but
all of our unit tests, the sass spec, and bootstrap seem to be correct,
so i am considering this implemented.
2021-07-22 21:23:09 -04:00
Connor Skees
fba42df43b test for hue when largest channel is blue 2021-07-21 22:07:03 -04:00
Connor Skees
d360af2cd6 improve code coverage 2021-07-21 09:17:37 -04:00
Connor Skees
26ec16a802 more robustly parse @else if 2021-07-20 23:55:18 -04:00