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
ConnorSkees
0f310e9582
proper error message for non-string to feature-exists
2020-03-23 15:02:50 -04:00
ConnorSkees
b91683b02e
implement builtin function global-var-exists
2020-03-23 14:53:22 -04:00
ConnorSkees
785c824cd8
check global scope for functions as well
2020-03-23 14:46:15 -04:00
ConnorSkees
d0b56c57d2
handle quoted strings in variable-exists
2020-03-23 14:34:03 -04:00