68 Commits

Author SHA1 Message Date
ConnorSkees
18a04b2669 move util hex_char_for() to utils.rs 2020-04-19 15:50:22 -04:00
ConnorSkees
e820395cc5 refactor printing and parsing of quoted strings 2020-04-19 13:51:37 -04:00
ConnorSkees
deff857d59 remove TODO related to interpolation in comments 2020-04-18 21:38:37 -04:00
ConnorSkees
cb8be064a9 interpolation in multiline comments 2020-04-18 21:01:12 -04:00
ConnorSkees
52c6ed0b64 remove QuoteKind::Single variant 2020-04-18 13:19:30 -04:00
ConnorSkees
62f9f7da4f integrate error handling with codemap 2020-04-12 19:37:12 -04:00
ConnorSkees
44ff1c99b3 add helper function Value::from_vec 2020-04-06 00:11:18 -04:00
ConnorSkees
13a96273e4 emit charset only when output contains utf-8 2020-04-05 23:20:47 -04:00
ConnorSkees
2a01668ae0 refactor selector parsing 2020-04-03 13:28:37 -04:00
ConnorSkees
476578cdc6 fail on modifier with attrkind any 2020-04-02 21:44:26 -04:00
ConnorSkees
618fa9ed86 symbol after hash in value 2020-04-02 02:08:14 -04:00
ConnorSkees
de6b823440 handle backslash as last character in property 2020-04-01 19:10:58 -04:00
ConnorSkees
6df6bcf1da refactor value parsing 2020-04-01 15:32:52 -04:00
ConnorSkees
526b4aa15f hexchars escaped in strings don't recieve trailing space 2020-03-31 11:52:28 -04:00
ConnorSkees
beff60ad31 clippy 2020-03-30 17:06:23 -04:00
ConnorSkees
86729df241 handle \ in selectors 2020-03-30 03:13:29 -04:00
ConnorSkees
7164728c69 properly handle hash in string 2020-03-30 02:54:11 -04:00
ConnorSkees
57a704172f properly handle silent comments in styles 2020-03-30 02:21:41 -04:00
ConnorSkees
9c690140ec allow non-ascii characters in idents 2020-03-30 01:24:50 -04:00
ConnorSkees
1e5dc99793 Revert "properly handle unicode characters in identifiers"
This reverts commit dea0610f9b12a8531ae63eee993c0c6d6546bb72.

This was not properly tested, and results in a number of breakages.
2020-03-30 01:00:17 -04:00
ConnorSkees
dea0610f9b properly handle unicode characters in identifiers 2020-03-30 00:55:14 -04:00
ConnorSkees
2a3f13bea0 allow escaped quotes to start idents 2020-03-29 23:00:39 -04:00
ConnorSkees
2885eec853 remove commented dbg statements 2020-03-29 22:21:42 -04:00
ConnorSkees
07505399da remove the lexer 2020-03-29 19:42:27 -04:00
ConnorSkees
f15ab57573 refactor @if/@else if/@else 2020-03-24 22:13:38 -04:00
ConnorSkees
f69bbb3b69 rustfmt 2020-03-23 22:13:11 -04:00
ConnorSkees
cd40ada653 properly escape backslashes in quotes in variables 2020-03-23 20:09:27 -04:00
ConnorSkees
9233b1d2ba allow semicolons in strings 2020-03-23 16:29:55 -04:00
ConnorSkees
f9730b9ec5 HACK: somewhat handle unicode escapes 2020-03-22 13:45:41 -04:00
ConnorSkees
77ed737293 disallow newlines in quoted strings 2020-03-21 12:21:06 -04:00
ConnorSkees
a64dcaf394 properly bubble up parsing errors 2020-03-20 23:34:23 -04:00
ConnorSkees
061694bd63 Initial implementation of !global (some issues remain) 2020-03-17 20:13:53 -04:00
ConnorSkees
3181d58441 refactor and cleaning 2020-03-01 14:53:52 -05:00
ConnorSkees
d7b22a41a6 Properly handle & in most contexts 2020-03-01 12:03:14 -05:00
ConnorSkees
624cf06f69 clippy 2020-02-29 16:13:57 -05:00
ConnorSkees
9f81efe812 Print quotes properly when string contains quotes 2020-02-24 19:49:24 -05:00
ConnorSkees
6c5cf4b405 properly escape backslashes 2020-02-24 19:13:28 -05:00
ConnorSkees
8c6be57872 Handle curly braces in quotes in styles 2020-02-24 17:47:32 -05:00
ConnorSkees
c2e339fb5b Remove inner _parse_interpolation() 2020-02-24 17:08:49 -05:00
ConnorSkees
a645424186 Refactor handling of quotes inside interpolation 2020-02-24 16:58:48 -05:00
ConnorSkees
54e71130e7 Strings containing interpolation are double quoted 2020-02-24 15:18:53 -05:00
ConnorSkees
9877f4a0e0 Attribute selectors are parsed after lexing 2020-02-24 15:07:18 -05:00
ConnorSkees
e7de93bd38 Proper error message for undefined variables 2020-02-17 07:55:03 -05:00
ConnorSkees
f817598a9d Refactor error handling 2020-02-16 10:54:25 -05:00
ConnorSkees
089436ec9d Revert "Allow unquote on all values"
This reverts commit f4c5fbae274ddd545d34107e424fa3b9c842ea14.

This change resulted in nine regressions in the spec tests. This is a
change that we should make later when the `unquote()` function has the
correct functionality. For right now, the implementation of `unquote()` is a hack to just get
things working.
2020-02-14 10:23:43 -05:00
ConnorSkees
f4c5fbae27 Allow unquote on all values 2020-02-14 10:11:26 -05:00
ConnorSkees
44d257494a Properly print decimal numbers 2020-02-08 18:43:18 -05:00
ConnorSkees
fa582b3316 Treat - and _ as the same in identifiers 2020-02-08 17:26:01 -05:00
ConnorSkees
783e43b765 clippy 2020-02-08 17:03:43 -05:00
ConnorSkees
6faebf5105 HACK: parse interpolations into values then tokens 2020-02-02 21:11:22 -05:00