478 Commits

Author SHA1 Message Date
ConnorSkees
5914a07d22 handle backticks and control characters 2020-03-21 17:29:12 -04:00
ConnorSkees
502da79d42 test errors 2020-03-21 14:39:16 -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
87462490ac Handle empty lists () 2020-03-20 20:01:57 -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
fb84361fae parse comma separated lists (somewhat) properly 2020-03-20 10:59:16 -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
8a811dae9e Properly parse spaced lists 2020-03-19 21:40:36 -04:00
ConnorSkees
3919e92dcb Allow function declarations inside rulesets 2020-03-19 20:01:13 -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
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
ConnorSkees
d560f13289 Refactor how numbers are printed 2020-03-17 12:47:27 -04:00
ConnorSkees
1c4be96f73 Add tests for precision rounding 2020-03-17 10:28:04 -04:00
ConnorSkees
3b5dd73a65 Support arbitrary amount of numbers multiplied together 2020-03-17 10:06:24 -04:00
ConnorSkees
f57b08069d Handle unit multiplication 2020-03-16 21:29:00 -04:00
ConnorSkees
3181d58441 refactor and cleaning 2020-03-01 14:53:52 -05:00
ConnorSkees
d7b22a41a6 Properly handle & in most contexts 2020-03-01 12:03:14 -05:00
ConnorSkees
35163c4a36 Properly scope variables inside for loops 2020-03-01 08:20:59 -05:00
ConnorSkees
286f67b984 ident addition chaining 2020-03-01 07:42:12 -05:00
ConnorSkees
7949699229 Handle variables in binary ops in function calls 2020-02-29 18:58:09 -05:00
ConnorSkees
ed4d19fe96 Initial implementation of placeholder selectors 2020-02-29 17:23:17 -05:00
ConnorSkees
5367cb315a Allow multiple semicolons 2020-02-29 15:54:13 -05:00
ConnorSkees
82813fee6f Allow @for to include only styles 2020-02-29 15:29:04 -05:00
ConnorSkees
7923d096a7 Allow variable declarations in at rules 2020-02-29 14:16:26 -05:00
ConnorSkees
b85b122e3d Preserve case of keywords from, to, and through 2020-02-29 12:11:40 -05:00
ConnorSkees
659dfba1b2 @for tests 2020-02-29 11:47:06 -05:00
ConnorSkees
bc2c927aa7 Properly emit @charset 2020-02-28 18:27:32 -05:00
ConnorSkees
46b96d03b1 Refactor how @return is parsed 2020-02-28 01:02:11 -05:00
ConnorSkees
906ca62a37 By default emit double quotes 2020-02-24 20:06:07 -05:00
ConnorSkees
9f81efe812 Print quotes properly when string contains quotes 2020-02-24 19:49:24 -05:00
ConnorSkees
6c5cf4b405 properly escape backslashes 2020-02-24 19:13:28 -05:00
ConnorSkees
c4d365a124 Create spaced list when values are adjacent 2020-02-24 19:05:50 -05:00
ConnorSkees
fba6f2eb73 Properly emit quotes after interpolation 2020-02-24 18:58:09 -05:00
ConnorSkees
465ac1b381 Fix bug where styles after quote were gobbled 2020-02-24 18:11:01 -05:00
ConnorSkees
8c6be57872 Handle curly braces in quotes in styles 2020-02-24 17:47:32 -05:00
ConnorSkees
a645424186 Refactor handling of quotes inside interpolation 2020-02-24 16:58:48 -05:00
ConnorSkees
011577c9f6 test for interpolation in attribute selectors 2020-02-24 15:10:30 -05:00
ConnorSkees
404c7fb66a Various tests 2020-02-24 09:38:05 -05:00