319 Commits

Author SHA1 Message Date
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
bb937ae84f more robust handling of empty input after resolving interpolation 2022-12-28 14:41:36 -05:00
Connor Skees
00845ad518 remove add_token method from interpolation 2022-12-28 10:37:22 -05:00
Connor Skees
0363134ba3 box colors and complex units 2022-12-27 19:09:43 -05:00
Connor Skees
012cdbf7cc use more float literals 2022-12-27 15:42:54 -05:00
Connor Skees
add1698180 unbox color and only store alpha once 2022-12-26 20:20:11 -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
d349591926 clippy 2022-09-02 17:05:04 -04:00
Connor Skees
e2c32a66de load paths are local to executable, not SCSS file 2022-05-31 09:43:45 -04:00
Connor Skees
15a58313e5 fmt, clippy 2022-02-08 20:22:38 -05:00
Chris Morgan
3c5463ac4c
File system interception, and various other matters (#55) 2022-02-03 17:41:10 -05:00
Connor Skees
45f2769c3c improve handling of directory load paths 2021-07-31 12:52:24 -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
c6cb7c1d68 support special fn clamp 2021-07-30 05:57:13 -04:00
Connor Skees
63567da749 more robustly parse commas in call args 2021-07-28 00:35:49 -04:00
Connor Skees
140890c279 refactor evaluation of order of operations 2021-07-25 22:51:33 -04:00
Connor Skees
94fe52a81d support compressed lists and number values 2021-07-25 09:57:55 -04:00
Connor Skees
3ced8feed5 avoid cloning selector to determine visibility 2021-07-25 02:21:25 -04:00
Connor Skees
86a1ffec42 refactor parsing of unknown at rules 2021-07-24 22:42:36 -04:00
Connor Skees
3ab2aa961a don't clone in order to construct lexer 2021-07-24 20:10:10 -04:00
Connor Skees
5acbc71071 improve handling of newlines for @at-root 2021-07-24 17:42:40 -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
be3edd8a62 update parser docs 2021-07-21 19:10:16 -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
b4c346f51f use consume_char_if_exists in more places 2021-07-20 21:50:22 -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
584b42f00f simplify parsing of float exponents 2021-07-20 11:28:47 -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
fd685ee36f include full parser context in predicate 2021-07-20 10:37:29 -04:00
Connor Skees
a34aa32128 simplify lookahead for @use and @media 2021-07-19 20:50:12 -04:00
Connor Skees
839f101829 emit comments inside @if rule 2021-07-14 21:19:38 -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
dceaea6d42 simplify lookahead in @if parsing 2021-07-12 03:17:17 -04:00
Connor Skees
a4004dce4f simplify lookahead in argument parsing 2021-07-12 03:07:07 -04:00
Connor Skees
91aaa70446 refactor how url peeking is implemented 2021-07-12 02:59:20 -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
adfecfa83e remove peekmore dependency 2021-07-11 15:12:46 -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
8ea601ee43 nightly clippy 2021-07-04 01:24:08 -04:00
Connor Skees
a555352713 better support negative modulo 2021-07-04 00:37:04 -04:00
Connor Skees
150ba14b74 clippy 2021-07-03 19:15:31 -04:00
Connor Skees
b631ad78bc rustfmt 2021-07-03 18:46:22 -04:00