259 Commits

Author SHA1 Message Date
ConnorSkees
981bf27cb8 properly parse and emit bracketed lists 2020-03-23 19:56:24 -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
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
d0b56c57d2 handle quoted strings in variable-exists 2020-03-23 14:34:03 -04:00
ConnorSkees
712795544b rustfmt 2020-03-23 14:33:44 -04:00
ConnorSkees
991b87f335 str-slice start/end equality does not preclude output 2020-03-23 14:16:27 -04:00
ConnorSkees
893c758e13 string length is number of chars 2020-03-23 14:11:06 -04:00
ConnorSkees
f4f9a79b2b handle large integers in builtin string functions 2020-03-23 14:03:47 -04:00
ConnorSkees
795c8bdb05 error messages end in periods 2020-03-23 12:53:55 -04:00
ConnorSkees
01c1cf3bb3 prefer the word lightness over luminance 2020-03-23 12:52:23 -04:00
ConnorSkees
2698e8257b improve rgb(a)/hsl(a) 1 arg errors 2020-03-23 12:42:58 -04:00
ConnorSkees
6460c97ef4 better error messages for zero arg hsl(a) 2020-03-22 23:41:02 -04:00
ConnorSkees
6aae433d21 better error message for missing rgb/rgba args 2020-03-22 23:28:19 -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
d19c112765 str-len is a count of characters, not bytes 2020-03-22 18:24:09 -04:00
ConnorSkees
c392c33ad8 properly insert into empty strings 2020-03-22 18:13:55 -04:00
ConnorSkees
585786318f handle double wide characters in str-insert 2020-03-22 17:49:21 -04:00
ConnorSkees
9965fe99fe handle negative numbers more accurately in str-insert 2020-03-22 17:13:38 -04:00
ConnorSkees
047fd1d3de handle str-insert edge cases 2020-03-22 16:49:41 -04:00
ConnorSkees
9bf2b9d16c implement builtin function str-insert 2020-03-22 16:14:45 -04:00
ConnorSkees
c0ed933850 implement builtin function str-index 2020-03-22 15:58:32 -04:00
ConnorSkees
415b19fc47 implement @content inside mixins 2020-03-22 15:08:13 -04:00
ConnorSkees
29011f88bb Implement builtin function join 2020-03-22 14:04:16 -04:00
ConnorSkees
22ab800e4c remove todo! from other color functions 2020-03-21 00:10:15 -04:00
ConnorSkees
b0aff089aa implement builtin function append() 2020-03-20 19:50:23 -04:00
ConnorSkees
4fdac4c5f1 implement builtin function set-nth() 2020-03-20 19:27:26 -04:00
ConnorSkees
5ce2515fb6 handle non-list to nth() 2020-03-20 12:36:31 -04:00
ConnorSkees
284bc8ea6d Implement builtin function list-separator() 2020-03-20 12:32:33 -04:00
ConnorSkees
dd1c1e5b06 implement builtin function nth 2020-03-20 12:09:08 -04:00
ConnorSkees
ef480ad1f8 length() max args check 2020-03-20 10:03:54 -04:00
ConnorSkees
2db2ab10ca feature-exists units-level-3 2020-03-19 23:53:29 -04:00
ConnorSkees
20f702b40b Implement 1 arg for hsl and hsla 2020-03-19 23:44:53 -04:00
ConnorSkees
fb4021dae6 Properly handle percents in 1 arg rgb/rgba 2020-03-19 22:31:44 -04:00
ConnorSkees
dcb712e3d4 Refactor unit conversions into separate file 2020-03-19 16:24:31 -04:00
ConnorSkees
061694bd63 Initial implementation of !global (some issues remain) 2020-03-17 20:13:53 -04:00
ConnorSkees
42787ec700 proper error message in unit() when not given number 2020-03-17 10:10:42 -04:00
ConnorSkees
7a5b5c7369 Workaround negative numbers in macro 2020-03-16 16:44:52 -04:00
ConnorSkees
849f3d8479 Refactor color-other builtin function arg macros 2020-03-16 10:52:42 -04:00
ConnorSkees
51585235c3 Remove decl! macro
This lets rustfmt work and gives better autocomplete and error messages
inside builtin functions.
2020-03-16 10:35:38 -04:00
ConnorSkees
d8db937470 reorder macro params 2020-03-10 21:53:21 -04:00
ConnorSkees
8458106833 Replace lazy_static! with once_cell::sync::Lazy
As per
276134eb93 (r37745873),
this allows us to avoid a macro call and get better autocompletion
within the declaration.
2020-03-10 21:19:23 -04:00
ConnorSkees
276134eb93 prefer hashmap over btreemap where ordering is unimportant 2020-03-03 19:51:02 -05:00
ConnorSkees
53861ccb0d clippy 2020-02-22 17:57:13 -05:00
ConnorSkees
844b506872 Value operations can fail 2020-02-17 10:27:04 -05:00
ConnorSkees
af443f8f57 Prefer .remove() over .get() to avoid clone 2020-02-17 09:08:28 -05:00