ConnorSkees
dc5df157b0
replace macro with fn
2020-05-20 23:56:17 -04:00
ConnorSkees
fe37bab6f2
add color benchmarks
2020-05-20 22:51:56 -04:00
ConnorSkees
3decf3739c
refactor Integer to separate file
2020-05-20 22:46:26 -04:00
ConnorSkees
45a29c9697
refactor Number::to_integer
2020-05-20 22:40:21 -04:00
ConnorSkees
38ffb5fe31
don't eat first char of loud comment
2020-05-20 22:39:31 -04:00
ConnorSkees
3fcd0b8be4
replace todo with unreachable to make clearer that methods should not be used
2020-05-20 21:05:55 -04:00
ConnorSkees
de2173cc31
refactor parsing of toplevel comments
2020-05-20 21:01:07 -04:00
ConnorSkees
10a30b4c65
test for comma separated list as map key
2020-05-20 20:35:59 -04:00
ConnorSkees
d39a45090a
separate media and unknown at rules
2020-05-20 20:13:53 -04:00
ConnorSkees
d61f8abd41
add benches
2020-05-20 00:20:59 -04:00
ConnorSkees
bea90060a8
minor cleanup
2020-05-20 00:14:55 -04:00
ConnorSkees
8520048b26
implement small int optimizations
...
This allows for numbers within 18 digits of precision (the vast
majority of numbers) to be represented by just 2 i64s rather than 2 heap
allocated BigInts. In the future these optimizations may become more
aggressive and granular, but for now `grass` is already more than an order of
magnitude faster than `dart-sass`.
2020-05-19 23:23:04 -04:00
ConnorSkees
cf987abb53
remove bimap in favor of ad hoc structure
2020-05-19 19:13:49 -04:00
ConnorSkees
eb7fe52074
minor cleanup
2020-05-19 18:28:18 -04:00
ConnorSkees
017bc971b4
remove first line in readme
2020-05-19 15:48:53 -04:00
ConnorSkees
9a3035049a
error tests for to-{upper,lower}-case
2020-05-19 00:21:43 -04:00
ConnorSkees
dae7a5028d
add map fn tests for empty lists
2020-05-18 17:56:25 -04:00
ConnorSkees
d88ac86bd1
consolidate builtin imports
2020-05-18 17:50:52 -04:00
ConnorSkees
f8b8025d7c
fix panic when missing colon in style
2020-05-17 11:09:21 -04:00
ConnorSkees
b58ed29fd0
add more span information
...
this resolves a lot of panics that occurred when there was no more input
2020-05-17 00:35:07 -04:00
ConnorSkees
6e7f1cc319
remove some panicking
2020-05-17 00:08:50 -04:00
ConnorSkees
eb2f3ebe5a
remove ;; in tests
2020-05-16 22:46:13 -04:00
ConnorSkees
4ee82e66be
refactor comparison ops to src/value/ops.rs
2020-05-16 22:45:32 -04:00
ConnorSkees
c07bb7ecce
refactor == and != order of operations
2020-05-16 22:43:13 -04:00
ConnorSkees
697ff3d12f
error messages for values beginnning with #
...
prior to this commit, error messages that occurred within idents
beginning with interpolation would be swallowed by error messages for
hex (largely, "Expected identifier.")
2020-05-16 19:25:11 -04:00
ConnorSkees
f3e7abdaba
allow units to begin with escape sequences
2020-05-16 18:54:42 -04:00
ConnorSkees
d4f67b5ed9
clippy
2020-05-16 18:38:37 -04:00
ConnorSkees
1fb6822259
rename register to declare
2020-05-16 18:01:06 -04:00
ConnorSkees
a3604491e9
consolidate implementations of hsl and hsla
2020-05-16 17:49:30 -04:00
ConnorSkees
b5a0931e45
consolidate implementations of rgb and rgba
2020-05-16 17:45:04 -04:00
ConnorSkees
2d0a9abb13
parse selectors that grow larger from interpolation
2020-05-16 17:28:30 -04:00
ConnorSkees
2db3398fe2
properly handle escaped newlines in quoted strings
2020-05-16 17:20:53 -04:00
ConnorSkees
09e6568c39
update rustfmt
2020-05-16 16:56:17 -04:00
ConnorSkees
dcdd2a1cb1
edge case in which @ include had no args AND no semicolon
2020-05-16 16:54:34 -04:00
ConnorSkees
223dade62b
Emit proper error for escape sequence overflow
...
Before this commit, escape sequences above std::char::MAX ('\u{10ffff}')
would overflow and cause a panic. This commit replaces an `unwrap` with
`ok_or` and a clearer error message. This message will likely change
in the future in order to better conform to the `dart-sass` implementation
which currently also fails to cleanly handle this overflow.
See https://github.com/kaj/rsass/pull/73
2020-05-16 16:22:33 -04:00
ConnorSkees
eea8bdbc25
allow escapes at the start of selectors
2020-05-16 16:15:11 -04:00
ConnorSkees
374e9f9eb4
correctly parse idents starting with interpolation
2020-05-14 00:10:24 -04:00
ConnorSkees
4b15b27119
refactor mixin args
2020-05-13 23:56:47 -04:00
ConnorSkees
0cbdc67f06
improve scoping with regard to function variables existing
2020-05-13 01:32:29 -04:00
ConnorSkees
425c36be86
improve tests for feature-exists
2020-05-13 00:19:21 -04:00
ConnorSkees
5b69ad2659
special functions are always lowercased
2020-05-13 00:16:36 -04:00
ConnorSkees
e524867a30
bump version to 0.8.2
...
This release contains significant (>10x) improvements for WASM speed.
Performance is now comparable to libsass bindings with `node-sass` as
well as `dart-sass` with dart2js. It is, however, roughly 4x slower than
native `grass`.
2020-05-11 12:59:31 -04:00
ConnorSkees
2e9cd18a9d
document internal fn CallArgs::decrement
2020-05-06 12:19:03 -04:00
ConnorSkees
e5226e5cfe
eat_calc_args doesn't allocate its own string
2020-05-06 12:15:42 -04:00
ConnorSkees
edb9dde259
simplify Display on QuoteKind
2020-05-06 12:07:27 -04:00
ConnorSkees
1b774a9b91
simplify Unit::From<String>
2020-05-06 12:01:40 -04:00
ConnorSkees
01858ff543
use static strings inside unit conversion table
2020-05-06 11:55:49 -04:00
ConnorSkees
6729f24b17
Value::inspect returns cow
2020-05-06 11:50:35 -04:00
ConnorSkees
5ba28e27f3
bump version to 0.8.1
2020-05-05 19:12:49 -04:00
ConnorSkees
66f24c474d
fix build on wasm
2020-05-05 19:12:17 -04:00