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
60c9327cf3
remove superfluous clone and indexing for loops from @extend
2020-07-06 12:49:13 -04:00
Connor Skees
4a9604dcf4
improve documentation
2020-07-06 10:30:21 -04:00
Connor Skees
92aa149f8a
remove dependency on bitflags
2020-07-05 10:21:43 -04:00
Connor Skees
eec454c2d0
Merge branch 'master' of https://github.com/connorskees/grass
2020-07-05 09:36:04 -04:00
Ivan Tham
85ec26001a
Keep parser context with bitflags
2020-07-05 09:35:42 -04:00
Ivan Tham
85a5b005cb
refactor keyframes and number parsing logic
2020-07-05 09:35:42 -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
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
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
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
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