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
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
Connor Skees
e7fc6815c1
update passing tests
2020-07-02 10:51:49 -04:00
Connor Skees
ae77325ad0
consolidate implementation of unvendor()
2020-07-02 10:40:43 -04:00
Connor Skees
8b907d4b67
consolidate arg evaluation for mixins and functions
2020-07-02 10:37:13 -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
6ea036581b
mixin stores body as Vec<Token>
2020-06-30 06:53:17 -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
8622efc7be
deny exponents over 2 digits
...
this is done in order to avoid hangs on small inputs.
2020-06-28 07:02:12 -04:00
Connor Skees
c7608fce4e
convert immutable Strings to Box<str> in Pseudo
2020-06-28 05:10:34 -04:00
Connor Skees
0483f7f057
remove superfluous trait derives
2020-06-28 03:33:04 -04:00
Connor Skees
e211aff677
remove dead code from Scope impl
2020-06-28 03:28:50 -04:00
Connor Skees
0b28bb4c35
optimize common case of single style
2020-06-27 07:24:53 -04:00
ConnorSkees
369feb5c40
use clearer naming for Number variants
2020-06-26 08:47:10 -04:00
ConnorSkees
41bfea3cea
update dependencies
2020-06-26 08:03:43 -04:00
ConnorSkees
6a6be73c5f
make doctests pass
2020-06-26 06:40:34 -04:00
ConnorSkees
9212ff5fa1
resolve clippy lints
2020-06-26 06:12:50 -04:00