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
ConnorSkees
87462490ac
Handle empty lists ()
2020-03-20 20:01:57 -04:00
ConnorSkees
dd1c1e5b06
implement builtin function nth
2020-03-20 12:09:08 -04:00
ConnorSkees
fb84361fae
parse comma separated lists (somewhat) properly
2020-03-20 10:59:16 -04:00
ConnorSkees
8a811dae9e
Properly parse spaced lists
2020-03-19 21:40:36 -04:00
ConnorSkees
dcb712e3d4
Refactor unit conversions into separate file
2020-03-19 16:24:31 -04:00
ConnorSkees
0ad5e554b3
Add and subtract lists
2020-03-19 14:20:16 -04:00
ConnorSkees
d470074611
Improve chaining ops
2020-03-19 08:36:11 -04:00
ConnorSkees
9bbdf762ce
clippy
2020-03-18 20:11:14 -04:00
ConnorSkees
103781e420
ident equality ignores quotekind
2020-03-18 17:23:38 -04:00
ConnorSkees
9630343676
Implement modulo
2020-03-18 11:39:58 -04:00
ConnorSkees
0fe97993f4
Properly handle trailing zeroes
...
This fixes an edge case in which there were trailing zeros that resulted
from the decimal having a non-zero part outside the precision range.
E.g. if precision were 10, `0.00000000000000000001` would be printed as `0.0000000000`.
This issue occured often when doing unit conversions between cm and in
(and similarly between dpcm and dpi).
2020-03-18 10:34:17 -04:00
ConnorSkees
efaa33088b
Implement unit conversions in numeric subtraction
2020-03-18 10:14:35 -04:00
ConnorSkees
b3b5163113
Implement unit conversions in numeric addition
2020-03-18 10:08:40 -04:00
ConnorSkees
061694bd63
Initial implementation of !global (some issues remain)
2020-03-17 20:13:53 -04:00