ConnorSkees
c68576bb23
refactor parsing of toplevel variables
2020-05-21 13:25:37 -04:00
ConnorSkees
67091115db
better handle - at the start of idents
2020-05-21 12:06:42 -04:00
ConnorSkees
d300d4e1fc
test for ] in value
2020-05-21 00:09:52 -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
2db3398fe2
properly handle escaped newlines in quoted strings
2020-05-16 17:20:53 -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
26df276266
Value::to_css_string returns a Cow<'static, str>
2020-05-05 11:08:34 -04:00
ConnorSkees
4321a383f2
eat whitespace after silent comments
2020-05-02 12:49:42 -04:00
ConnorSkees
3ca48702a1
interpolated_ident_body doesn't allocate its own string
2020-05-02 11:47:49 -04:00
ConnorSkees
daf7f247cf
refactor iteration over intermediate values
2020-05-01 03:13:20 -04:00
ConnorSkees
8a3ba1ae07
make lowercase in place where possible
2020-04-30 16:08:35 -04:00
ConnorSkees
03316161a8
remove superfluous is_float variable
2020-04-28 15:49:19 -04:00
ConnorSkees
bc09e49c89
remove is_float field of ParsedNumber
2020-04-28 15:28:50 -04:00
ConnorSkees
bcbf3f4a90
clippy
2020-04-28 15:14:44 -04:00
ConnorSkees
a9ec7ff73f
fix issue where only 0 would be emitted for non-scientific-notation numbers
2020-04-28 14:49:00 -04:00
ConnorSkees
a183a9ffa2
optimize parsing of numbers
...
This makes parsing of floats roughly 10x faster
2020-04-28 13:18:54 -04:00
ConnorSkees
2ee4396978
handle scientific notation in numbers
2020-04-28 12:15:10 -04:00
ConnorSkees
d53b44aafe
tabs are not emitted literally
2020-04-26 19:02:43 -04:00
ConnorSkees
4a2503b04c
refactor attribute parsing
2020-04-26 00:55:38 -04:00
ConnorSkees
a8141d2488
handle edge case in parsing of units ending with hypen followed by whitespace
2020-04-25 20:19:50 -04:00
ConnorSkees
a5cd335318
properly handle whitespace and start and end of url()
2020-04-24 19:00:06 -04:00
ConnorSkees
a86d717f26
properly parse variable flags
2020-04-23 21:30:25 -04:00
ConnorSkees
99ae3ae30a
test for multiline comments in subtraction
2020-04-23 19:44:20 -04:00
ConnorSkees
409ac80921
handle multiline comments surrounding @ if condition
2020-04-23 19:32:32 -04:00
ConnorSkees
34b886b758
more robustly handle escaping
2020-04-22 10:57:57 -04:00
ConnorSkees
3805eaab2b
clippy
2020-04-21 18:22:26 -04:00
ConnorSkees
fc3facb80c
properly handle url()
2020-04-21 04:20:35 -04:00
ConnorSkees
cdfd89cd75
add TODO to interpolated_ident_body
2020-04-21 02:17:11 -04:00
ConnorSkees
3e9e860e20
allow slient comments in special function args
2020-04-20 15:11:03 -04:00
ConnorSkees
0052c754cb
rename ident_body to be more explicit it does not include interpolation
2020-04-20 14:57:41 -04:00
ConnorSkees
ca69695776
remove unused IsComment trait
2020-04-20 14:57:22 -04:00
ConnorSkees
46552b3a56
remove usage of use super::*
`
2020-04-20 14:53:52 -04:00
ConnorSkees
c031286c9a
refactor number and interpolation utils to separate file
2020-04-20 14:49:29 -04:00
ConnorSkees
11a27775a4
refactor read_until utils to separate file
2020-04-20 14:45:40 -04:00
ConnorSkees
8a4d74e268
refactor comment and whitespace utils to separate file
2020-04-20 14:40:51 -04:00
ConnorSkees
40451a211a
refactor variable utils to separate file
2020-04-20 14:38:05 -04:00
ConnorSkees
c121bbc1e3
refactor string utils to separate file
2020-04-20 14:35:16 -04:00
ConnorSkees
760c95792c
refactor char utils to separate file
2020-04-20 14:30:56 -04:00
ConnorSkees
3fd9692ce5
move utils to directory
2020-04-20 14:27:35 -04:00