30 Commits

Author SHA1 Message Date
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
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
a0786619de @content may have call args even when it has no parens 2020-08-17 03:30:54 -04:00
Connor Skees
a665cb13cc remove cfg(test) from test files 2020-08-11 20:22:24 -04:00
Connor Skees
da3c3eabfc refactor how @content scoping is handled 2020-07-30 23:40:34 -04:00
Connor Skees
da9c0b78b2 variables declared in mixins can be accessed after @content 2020-07-30 22:26:24 -04:00
Connor Skees
f8453e4a0a disallow interpolation in the name of mixin declarations 2020-07-15 13:20:50 -04:00
Connor Skees
b4bdd2f926 deny mixins in functions, control flow, and mixins 2020-07-10 22:03:15 -04:00
Connor Skees
3c756f661d unconditionally exit mixin scope 2020-07-10 21:23:26 -04:00
Connor Skees
02efd09d80 avoid cloning the entire scope 2020-07-08 17:52:37 -04:00
Connor Skees
47902c077c refactor how scopes are calculated 2020-07-08 14:51:04 -04:00
Connor Skees
6faf30795e add ignored scope tests for mixins and functions 2020-07-07 12:00:11 -04:00
Connor Skees
bf0665bbcd @content tokens can access local scope 2020-07-02 15:43:11 -04:00
Connor Skees
1b033c3643 properly handle chained @content 2020-07-02 15:22:15 -04:00
Connor Skees
a88f07da54 allow @content to take arguments 2020-07-02 10:31:32 -04:00
ConnorSkees
fe07c3d87e fix regression in mixin scoping 2020-06-18 18:22:59 -04:00
ConnorSkees
962549e31b remove most remaining unwraps 2020-06-18 18:22:58 -04:00
ConnorSkees
dcdd2a1cb1 edge case in which @ include had no args AND no semicolon 2020-05-16 16:54:34 -04:00
ConnorSkees
8ddc8ab4f4 test error message for undefined mixin and variable 2020-04-26 23:01:00 -04:00
ConnorSkees
3615835e03 allow @content in more contexts 2020-04-26 21:29:09 -04:00
ConnorSkees
cfa734e412 allow control flow inside @content 2020-04-26 18:40:05 -04:00
ConnorSkees
75b896fe3d handle _ and - args interchangably 2020-03-31 01:22:44 -04:00
ConnorSkees
5bbf070b95 fn args interchangable hyper underscore 2020-03-31 01:15:21 -04:00
ConnorSkees
07505399da remove the lexer 2020-03-29 19:42:27 -04:00
ConnorSkees
415b19fc47 implement @content inside mixins 2020-03-22 15:08:13 -04:00
ConnorSkees
8a811dae9e Properly parse spaced lists 2020-03-19 21:40:36 -04:00
ConnorSkees
4263fd2532 Devour whitespace after { 2020-02-02 18:01:09 -05:00
ConnorSkees
b8bacbde8b Refactor tests into separate files 2020-02-01 23:09:22 -05:00