704 Commits

Author SHA1 Message Date
Connor Skees
e1e643d286 emit @import when importing a url or .css file 2020-07-06 19:47:12 -04:00
Connor Skees
4edc324fcd remove superfluous whitespace from media query involving and 2020-07-06 18:59:21 -04:00
Connor Skees
22cc36b578 more robustly emit empty arglists 2020-07-06 18:41:50 -04:00
Connor Skees
9936656077 handle non-string keys in splatted map 2020-07-06 17:54:55 -04:00
Connor Skees
7c320ae9a2 handle edge case of single list containing map used in @each 2020-07-06 16:10:09 -04:00
Connor Skees
aa8f120824 resolve media query bug involving multiple identifiers 2020-07-06 15:37:03 -04:00
Connor Skees
2fa1804ccd remove panic on malformed @import 2020-07-06 12:55:34 -04:00
Connor Skees
dbfd90d444 better handle maps, arglists, and mul units in @debug 2020-07-05 07:31:10 -04:00
Connor Skees
91ef5dcfd5 refactor how newlines are emitted
still not perfect, but getting closer. this brings the bulma diff down
from around 1,700 lines to only 500 (all a result of newlines)
2020-07-04 22:52:11 -04:00
Connor Skees
c4439c14fd do not strip newlines after comments in selectors 2020-07-04 21:02:49 -04:00
Connor Skees
827225a143 initial implementation of @keyframes 2020-07-04 20:50:53 -04:00
Connor Skees
65f93ad6d5 builtin fns red, green, and blue round their output 2020-07-04 18:46:23 -04:00
Connor Skees
71d3faa042 keywords are case sensitive 2020-07-04 11:15:18 -04:00
Connor Skees
b28309147e partially implement inverse units 2020-07-04 11:04:51 -04:00
Connor Skees
fb24d4db4f remove remaining binop todo!()s 2020-07-04 08:37:35 -04:00
Connor Skees
efc5f91348 more robustly parse empty bracketed lists 2020-07-03 23:49:31 -04:00
Connor Skees
ca2938f04c when two operators have the same precedence, evaluate the leftmost first 2020-07-03 20:15:00 -04:00
Connor Skees
30a3a46b2d fix longstanding @extend bug related to selector lists 2020-07-03 19:58:43 -04:00
Connor Skees
d7fd88dea4 properly evaluated builtin fn if when one arg contains an error 2020-07-03 15:06:26 -04:00
Connor Skees
596def3906 refactor value evaluation 2020-07-03 12:38:20 -04:00
Connor Skees
f437649103 add support for splats 2020-07-02 17:25:52 -04:00
Connor Skees
125c85a69c allow variables named to and through in @for 2020-07-02 16:06:34 -04:00
Connor Skees
1ef93c082b allow != in variables 2020-07-02 15:54:33 -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
5dd14794c5 allow whitespace after trailing comma in map 2020-07-02 14:44:00 -04:00
Connor Skees
a88f07da54 allow @content to take arguments 2020-07-02 10:31:32 -04:00
Connor Skees
4b98ec198d @media no longer consumes everything after it as children 2020-07-01 07:10:47 -04:00
Connor Skees
84f52d2ef4 add scope test for inner variable redeclarations 2020-07-01 07:03:43 -04:00
Connor Skees
f476f4af25 no longer strip whitespace at the end of selectors
the whitespace can sometimes be part of an escape, e.g. `\ `
2020-06-30 06:43:26 -04:00
Connor Skees
f582439744 add scope test for local variables with functions 2020-06-27 04:26:45 -04:00
ConnorSkees
4610a30024 resolve @extend issues related to attrbitute equality 2020-06-24 06:11:29 -04:00
ConnorSkees
6fec0835f8 add more selector-extend tests 2020-06-24 02:57:46 -04:00
ConnorSkees
84328f0e2c add remaining selector-unify tests 2020-06-23 04:28:54 -04:00
ConnorSkees
402d7bf8e6 unignore passing tests 2020-06-23 04:28:54 -04:00
ConnorSkees
7f8dc52e24 wrap extended selectors in Rc<RefCell<T>> 2020-06-23 04:28:54 -04:00
ConnorSkees
c700845174 resolve hang on malformed input involving and and or 2020-06-22 14:18:14 -04:00
ConnorSkees
a3a33db47a improve selector error handling 2020-06-22 12:39:09 -04:00
ConnorSkees
aea7c9c408 deny functions with reserved names or in control flow 2020-06-22 11:35:15 -04:00
ConnorSkees
6f4b8a935f rustfmt 2020-06-22 10:22:13 -04:00
ConnorSkees
ea0e04bfb9 eval varargs 2020-06-22 10:21:18 -04:00
ConnorSkees
082d58853b implement special-cased functions min and max 2020-06-22 10:11:30 -04:00
ConnorSkees
52bf3f0091 implement short circuiting for and 2020-06-20 22:31:31 -04:00
ConnorSkees
27e4f2b541 properly parse maps with maps as values 2020-06-20 21:53:01 -04:00
ConnorSkees
07d6faf64b basic implementation of short circuiting with or op 2020-06-20 16:22:17 -04:00
ConnorSkees
c9a68c55b9 regress a bit on @extend for performance 2020-06-20 07:07:22 -04:00
ConnorSkees
195079de86 initial implementation of @extend 2020-06-20 06:09:12 -04:00
ConnorSkees
09a322f175 resolve regression in @mixin scoping 2020-06-18 18:22:59 -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