1557 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
379eeb4fd3 bump version to 0.9.4 2020-07-04 21:30:42 -04:00
Connor Skees
fd37b34345 update passing tests 2020-07-04 21:20:16 -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
3cde25959b remove !optional hack 2020-07-04 18:32:13 -04:00
Connor Skees
641ff007fb bump version to 0.9.3 2020-07-04 14:40:21 -04:00
Connor Skees
a1d704ff82 update passing tests 2020-07-04 14:38:12 -04:00
Connor Skees
91ff4c10b4 resolve clippy lints 2020-07-04 13:44:52 -04:00
Connor Skees
fc36a7a1e8 remove superfluous clones in weave() 2020-07-04 13:43:09 -04:00
Connor Skees
05f5bc141a avoid cloning all extensions for every selector 2020-07-04 13:16:52 -04:00
Connor Skees
95c8b8d123 remove clone from extend_simple 2020-07-04 13:10:51 -04:00
Connor Skees
d79488b00f remove superfluous clone from add_selector() 2020-07-04 12:58:04 -04:00
Connor Skees
52ecd1e2d0 optimize ExtendedSelector::into_selector
when there is only one reference to an `ExtendedSelector`, the selector
will no longer do unnecessary cloning. this is a significant improvement
as previously we were cloning *every* selector multiple times. note that
this is optimization only occurs when the selector is being emitted.
2020-07-04 12:38:09 -04:00
Connor Skees
ca861d488b optimize common case of previously seen simple selectors 2020-07-04 12:11:01 -04:00
Connor Skees
87b18e321f add common Sass libraries to gitignore 2020-07-04 11:39:22 -04:00
Connor Skees
c52a0c7dd9 remove or pattern todos
clippy now has a lint for them
2020-07-04 11:33:31 -04:00
Connor Skees
a823ae7811 remove fallible trait impls from SassError 2020-07-04 11:27:57 -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
28fa06a85f bump version to 0.9.2 2020-07-03 21:32:45 -04:00
Connor Skees
86d144a31b update passing tests 2020-07-03 21:21:26 -04:00
Connor Skees
f6f4d8ab1b hash ptr rather than value of extended selector
this change *doubles* speed of the `huge.scss` benchmark. it may not be
wholly sound, though. I haven't come across a test case that can make
this fail, but that's not to say one doesn't exist.
2020-07-03 21:09:31 -04:00
Connor Skees
c66ecdd57d use HashSet internally inside SelectorHashSet 2020-07-03 20:55:02 -04:00
Connor Skees
192d18c2ac explain why we don't use a HashSet for SelectorHashSet 2020-07-03 20:34:03 -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
0e1ea87627 update passing tests 2020-07-03 15:17:43 -04:00
Connor Skees
d144b7fc52 resolve clippy lints 2020-07-03 15:17:04 -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
cf74735875
Merge pull request #14 from connorskees/value-visitor
refactor value evaluation
2020-07-03 13:58:49 -04:00
Connor Skees
9bde66c72c fmt attributes 2020-07-03 13:03:59 -04:00
Connor Skees
e801e4d424 consistently use Value over Self in certain methods 2020-07-03 13:00:31 -04:00
Connor Skees
b473717861 rename Value::Function to Value::FunctionRef 2020-07-03 12:58:09 -04:00
Connor Skees
235836a4e0 tidy clippy lints 2020-07-03 12:56:19 -04:00
Connor Skees
596def3906 refactor value evaluation 2020-07-03 12:38:20 -04:00
Connor Skees
0c91fc323b update passing tests and changelog 2020-07-03 06:59:49 -04:00
Connor Skees
0f590b5cd2 move value parsing into separate directory 2020-07-02 19:08:04 -04:00
Connor Skees
f437649103 add support for splats 2020-07-02 17:25:52 -04:00
Connor Skees
94d94abf7a default arg fns are infallible 2020-07-02 16:37:24 -04:00
Connor Skees
927faf30c6 eagerly evaluate call args 2020-07-02 16:32:43 -04:00
Connor Skees
125c85a69c allow variables named to and through in @for 2020-07-02 16:06:34 -04:00
Connor Skees
e9f2cdbe4d resolve clippy lints 2020-07-02 15:57:14 -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