ConnorSkees
c1ed4b3121
handle , at toplevel
2020-05-21 00:46:06 -04:00
ConnorSkees
2faf9fcb60
improve error handling of variables in styles
2020-05-21 00:41:04 -04:00
ConnorSkees
d300d4e1fc
test for ] in value
2020-05-21 00:09:52 -04:00
ConnorSkees
dc5df157b0
replace macro with fn
2020-05-20 23:56:17 -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
d39a45090a
separate media and unknown at rules
2020-05-20 20:13:53 -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
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
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
5b69ad2659
special functions are always lowercased
2020-05-13 00:16:36 -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
66f24c474d
fix build on wasm
2020-05-05 19:12:17 -04:00
ConnorSkees
648e101c49
add tests passing at the start of may
2020-05-05 19:01:40 -04:00
ConnorSkees
26df276266
Value::to_css_string returns a Cow<'static, str>
2020-05-05 11:08:34 -04:00
ConnorSkees
96e916e750
handle negative values in @for
2020-05-02 15:11:58 -04:00
ConnorSkees
4321a383f2
eat whitespace after silent comments
2020-05-02 12:49:42 -04:00
ConnorSkees
07f12b6fb4
remove unnecessary logical not
2020-05-02 12:31:53 -04:00
ConnorSkees
2e8126af13
prefer match over if let .. else ..
2020-05-02 12:25:53 -04:00
ConnorSkees
3ca48702a1
interpolated_ident_body doesn't allocate its own string
2020-05-02 11:47:49 -04:00