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
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