1459 Commits

Author SHA1 Message Date
ConnorSkees
beff60ad31 clippy 2020-03-30 17:06:23 -04:00
ConnorSkees
9e3029dbfb better error messages for map-get and map-has-key 2020-03-30 16:41:00 -04:00
ConnorSkees
4b1dc39705 handle map-merge key overlaps 2020-03-30 16:33:43 -04:00
ConnorSkees
c8a21f3500 map-values returns a comma separated list 2020-03-30 16:21:00 -04:00
ConnorSkees
3621363e0e map-keys() returns a comma separated list 2020-03-30 16:14:42 -04:00
ConnorSkees
5e20f57ee0 () is treated as empty map 2020-03-30 16:10:02 -04:00
ConnorSkees
23f7301a25 implement length for maps 2020-03-30 16:01:44 -04:00
ConnorSkees
eb478b632d initial implementation of maps 2020-03-30 15:44:06 -04:00
ConnorSkees
206c3f8179 handle arbitrary parens in function calls 2020-03-30 15:07:06 -04:00
ConnorSkees
08dcf0fae7 remove unused symbol and whitespace structs 2020-03-30 10:47:19 -04:00
ConnorSkees
2ce639e9be implement > < >= <= 2020-03-30 10:42:13 -04:00
ConnorSkees
86729df241 handle \ in selectors 2020-03-30 03:13:29 -04:00
ConnorSkees
fffdcf91d2 remove old lexing code 2020-03-30 03:00:47 -04:00
ConnorSkees
7164728c69 properly handle hash in string 2020-03-30 02:54:11 -04:00
ConnorSkees
31ec0cc7f8 properly handle interpolation in selectors 2020-03-30 02:30:44 -04:00
ConnorSkees
57a704172f properly handle silent comments in styles 2020-03-30 02:21:41 -04:00
ConnorSkees
ae0ce9894c variables do not include interpolation 2020-03-30 01:48:37 -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
6608fe3f2f allow negative numbers multiplication 2020-03-30 00:38:46 -04:00
ConnorSkees
8f96a821f7 allow id selectors to start with numbers 2020-03-30 00:18:37 -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
5bbf10b05f allow idents to begin with hyphen 2020-03-29 22:17:56 -04:00
ConnorSkees
9e38fbc747 remove leftover debug statements 2020-03-29 19:51:35 -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
6d2d9bcb4a escape all symbols and whitespace 2020-03-24 13:36:39 -04:00
ConnorSkees
b292d56efa refactor function body to allow more than at-rules 2020-03-24 01:26:23 -04:00
ConnorSkees
3afe88e2d6 !global variables are also in local scope 2020-03-24 00:43:09 -04:00
ConnorSkees
0979f3957b Revert "check global scope for variable before local"
This reverts commit 27a9578b17a8ed8227cb190af38762111edae58f.

This ended up not being the desired behavior. It seems that instead of
checking the global scope first, variables declared with `!global` are
inserted into both the local and global scopes.
2020-03-24 00:31:56 -04:00
ConnorSkees
27a9578b17 check global scope for variable before local 2020-03-24 00:26:55 -04:00
ConnorSkees
c29088b558 allow trailing commas 2020-03-24 00:17:18 -04:00
ConnorSkees
0ded248e1e allow comma separated bracketed list in function args 2020-03-23 23:52:15 -04:00
ConnorSkees
430747d06b handle empty bracketed lists 2020-03-23 23:19:13 -04:00
ConnorSkees
c1ee84b6fc implement builtin function is-bracketed 2020-03-23 23:08:01 -04:00
ConnorSkees
d88342fd9b rustfmt 2020-03-23 23:06:05 -04:00
ConnorSkees
2705d79d1a str-slice by chars rather than bytes 2020-03-23 22:47:59 -04:00
ConnorSkees
dc0d7c4e89 properly emit more variants of character escape 2020-03-23 22:26:52 -04:00
ConnorSkees
f69bbb3b69 rustfmt 2020-03-23 22:13:11 -04:00
ConnorSkees
ae33efcc30 inspect for empty list returns () 2020-03-23 20:14:47 -04:00
ConnorSkees
cd40ada653 properly escape backslashes in quotes in variables 2020-03-23 20:09:27 -04:00
ConnorSkees
981bf27cb8 properly parse and emit bracketed lists 2020-03-23 19:56:24 -04:00
ConnorSkees
9233b1d2ba allow semicolons in strings 2020-03-23 16:29:55 -04:00
ConnorSkees
b7492a8546 mixin-exists allows 2 args 2020-03-23 15:26:07 -04:00
ConnorSkees
81c5a34211 function-exists allows 2 args 2020-03-23 15:25:26 -04:00
ConnorSkees
4b529a1236 proper error messages in (mixin|function)-exists 2020-03-23 15:22:16 -04:00
ConnorSkees
e6f2c26bc6 type-of(!important) returns 'string' 2020-03-23 15:13:19 -04:00
ConnorSkees
68d2bc7e17 global variables feature-exists 2020-03-23 15:06:04 -04:00