234 Commits

Author SHA1 Message Date
ConnorSkees
8e3e23c6cd builtin functions take args by value 2020-04-02 13:45:14 -04:00
ConnorSkees
39031aefff initial implementation of varargs 2020-04-02 13:33:26 -04:00
ConnorSkees
b440258027 handle no value after / 2020-04-02 02:32:32 -04:00
ConnorSkees
618fa9ed86 symbol after hash in value 2020-04-02 02:08:14 -04:00
ConnorSkees
87b03e91c9 error message for unopened close paren in value 2020-04-02 02:03:15 -04:00
ConnorSkees
d48560781c unquoted plus quoted is unquoted 2020-04-01 21:43:58 -04:00
ConnorSkees
6f39921665 handle ? in value 2020-04-01 18:46:58 -04:00
ConnorSkees
c235ba2c31 emit proper error message for superfluous colon 2020-04-01 18:43:13 -04:00
ConnorSkees
4cfbf1c4c2 refactor ident parsing to separate function 2020-04-01 18:42:58 -04:00
ConnorSkees
dd4a48165a clippy 2020-04-01 18:09:58 -04:00
ConnorSkees
f46d53d3cc implement keyword operators 2020-04-01 17:40:35 -04:00
ConnorSkees
07c8f7b2a9 remove leftover dbg! 2020-04-01 15:49:49 -04:00
ConnorSkees
6df6bcf1da refactor value parsing 2020-04-01 15:32:52 -04:00
ConnorSkees
978fbaade0 allow whitespace between ! and important 2020-03-31 22:00:38 -04:00
ConnorSkees
08f7dba00d implement integer division to an extent 2020-03-31 02:31:14 -04:00
ConnorSkees
8a600a4f07 implement number minus ident 2020-03-31 01:52:52 -04:00
ConnorSkees
90b940fd7d properly omit negative for values that round to zero 2020-03-31 01:38:57 -04:00
ConnorSkees
e5b7043480 do not print null values inside list 2020-03-31 00:27:00 -04:00
ConnorSkees
beff60ad31 clippy 2020-03-30 17:06:23 -04:00
ConnorSkees
4b1dc39705 handle map-merge key overlaps 2020-03-30 16:33:43 -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
2ce639e9be implement > < >= <= 2020-03-30 10:42:13 -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
5bbf10b05f allow idents to begin with hyphen 2020-03-29 22:17:56 -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
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
dc0d7c4e89 properly emit more variants of character escape 2020-03-23 22:26:52 -04:00
ConnorSkees
981bf27cb8 properly parse and emit bracketed lists 2020-03-23 19:56:24 -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
f4f9a79b2b handle large integers in builtin string functions 2020-03-23 14:03:47 -04:00
ConnorSkees
98a99684b7 refactor quote normalization 2020-03-23 12:12:08 -04:00
ConnorSkees
0be8828bf0 make better use of num traits 2020-03-22 22:28:54 -04:00
ConnorSkees
0e0b01f595 unquoted, empty strings are null 2020-03-22 18:36:21 -04:00
ConnorSkees
f9730b9ec5 HACK: somewhat handle unicode escapes 2020-03-22 13:45:41 -04:00
ConnorSkees
90fb2e6112 reduce usage of std::process::exit 2020-03-21 14:33:27 -04:00
ConnorSkees
7d12bc8142 implement unary ops + and - 2020-03-21 12:14:02 -04:00
ConnorSkees
e746bc7bda Allow utf-8 characters in idents 2020-03-20 23:53:26 -04:00
ConnorSkees
a64dcaf394 properly bubble up parsing errors 2020-03-20 23:34:23 -04:00
ConnorSkees
1a481000b6 better error message for missing closing paren 2020-03-20 23:21:40 -04:00