128 Commits

Author SHA1 Message Date
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
ConnorSkees
d560f13289 Refactor how numbers are printed 2020-03-17 12:47:27 -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
84e402023a @content boilerplate 2020-03-01 17:06:55 -05: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
14eb173c56 Refactor unknown at rule parsing to separate file 2020-03-01 08:02:59 -05:00
ConnorSkees
286f67b984 ident addition chaining 2020-03-01 07:42:12 -05:00
ConnorSkees
547ac7415a Improve color ops error messages 2020-02-29 20:14:51 -05:00
ConnorSkees
b62b9240c0 Exit with error 2020-02-29 20:02:58 -05:00
ConnorSkees
4e7cf277e1 Improve binary op error messages 2020-02-29 20:01:43 -05:00
ConnorSkees
624cf06f69 clippy 2020-02-29 16:13:57 -05:00
ConnorSkees
82813fee6f Allow @for to include only styles 2020-02-29 15:29:04 -05:00
ConnorSkees
b85b122e3d Preserve case of keywords from, to, and through 2020-02-29 12:11:40 -05:00
ConnorSkees
e2fcfeec47 rustfmt 2020-02-28 18:32: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
c4d365a124 Create spaced list when values are adjacent 2020-02-24 19:05:50 -05:00
ConnorSkees
a645424186 Refactor handling of quotes inside interpolation 2020-02-24 16:58:48 -05:00
ConnorSkees
54e71130e7 Strings containing interpolation are double quoted 2020-02-24 15:18:53 -05:00
ConnorSkees
776e6444e6 rustfmt 2020-02-24 09:37:32 -05:00
ConnorSkees
e8ee76f7dc Properly parse single quoted strings and string interpolation 2020-02-24 09:36:17 -05:00
ConnorSkees
4c3f5e24ee Handle utf8 input (a bit) 2020-02-23 07:52:14 -05:00
ConnorSkees
ef4a9e9ded Strings can start with # and don't have to be colors 2020-02-23 07:41:00 -05:00
ConnorSkees
a4cd8ae02c rustfmt 2020-02-22 11:59:33 -05:00
ConnorSkees
fa665ae55f color addition is undefined 2020-02-17 10:39:32 -05:00
ConnorSkees
844b506872 Value operations can fail 2020-02-17 10:27:04 -05:00
ConnorSkees
585011c621 Remove unwrap from FuncArgs 2020-02-17 09:29:05 -05:00
ConnorSkees
f7aacba76c Use .remove() over .get() to avoid a clone 2020-02-17 08:13:15 -05:00
ConnorSkees
e7de93bd38 Proper error message for undefined variables 2020-02-17 07:55:03 -05:00
ConnorSkees
e5bbba3462 Take self by value in eval to avoid clone in common case 2020-02-16 22:06:30 -05:00
ConnorSkees
23b90aa97e Use remove() rather than .get() to avoid a clone 2020-02-16 22:04:54 -05:00
ConnorSkees
42cbd685d3 Refactor how function call args are parsed 2020-02-16 21:34:52 -05:00
ConnorSkees
09e4537e78 Proper error in str-slice when passed float 2020-02-16 18:39:27 -05:00
ConnorSkees
3512873363 Properly print negative decimals 2020-02-16 15:30:31 -05:00
ConnorSkees
1995b5ec6e Error messages in builtins 2020-02-16 11:59:04 -05:00
ConnorSkees
f817598a9d Refactor error handling 2020-02-16 10:54:25 -05:00
ConnorSkees
d300cd046a Use SassError over Option inside builtins 2020-02-16 10:14:17 -05:00
ConnorSkees
d082583917 Handle negative numbers in str-slice() 2020-02-15 08:51:00 -05:00
ConnorSkees
c16d6fed4e clippy 2020-02-14 18:28:09 -05:00
ConnorSkees
f7351e1458 Implement builtin function abs() 2020-02-14 12:30:48 -05:00
ConnorSkees
089436ec9d Revert "Allow unquote on all values"
This reverts commit f4c5fbae274ddd545d34107e424fa3b9c842ea14.

This change resulted in nine regressions in the spec tests. This is a
change that we should make later when the `unquote()` function has the
correct functionality. For right now, the implementation of `unquote()` is a hack to just get
things working.
2020-02-14 10:23:43 -05:00