746 Commits

Author SHA1 Message Date
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
ConnorSkees
0352c82c88 remove unwrap from variable value parsing 2020-06-18 18:22:58 -04:00
ConnorSkees
d90ef7fa41 remove unwraps in Value::to_css_string 2020-06-18 18:22:58 -04:00
ConnorSkees
5d5e7adb98 more accurately parse strange hex colors 2020-06-18 18:22:58 -04:00
ConnorSkees
76290a4159 further refactor parsing of hex colors 2020-06-18 18:22:58 -04:00
ConnorSkees
d196a93f91 arglists are lists too 2020-06-18 18:22:58 -04:00
ConnorSkees
d3413b7cbf & is null when at root 2020-06-18 18:22:58 -04:00
ConnorSkees
1e91008459 newline at end of test file 2020-06-18 18:22:58 -04:00
ConnorSkees
5eeee2f01f resolve issue with @ at-root 2020-06-16 22:00:45 -04:00