ConnorSkees
80e32b4290
emit proper error for map as lhs of addition
2020-05-22 20:34:41 -04:00
ConnorSkees
283a2097ff
rename Value::Ident to Value::String
2020-05-22 14:35:41 -04:00
ConnorSkees
969726eb30
Revert string interning
...
There existed issues related to multithreaded tests that are difficult
to resolve. In the future interning may be reimplemented but in a more
limited capacity.
The motivation behind interning *values* was that it appeared checking
for named colors was responsible for much of the time lost when parsing
unquoted strings. If interning were to be reimplemented, it may make
sense to limit it solely to identifiers and style properties.
2020-05-22 14:20:31 -04:00
ConnorSkees
b15740976c
remove superfluous allocations when resolving idents
2020-05-22 13:49:19 -04:00
ConnorSkees
5bed62c404
keywords are thread_local
2020-05-22 13:47:48 -04:00
ConnorSkees
9a6c8ce019
add string interning
...
this seems to improve performance by ~20% as well as significantly
decrease memory usage
2020-05-21 22:46:40 -04:00
ConnorSkees
4ee82e66be
refactor comparison ops to src/value/ops.rs
2020-05-16 22:45:32 -04:00
ConnorSkees
01858ff543
use static strings inside unit conversion table
2020-05-06 11:55:49 -04:00
ConnorSkees
26df276266
Value::to_css_string returns a Cow<'static, str>
2020-05-05 11:08:34 -04:00
ConnorSkees
3805eaab2b
clippy
2020-04-21 18:22:26 -04:00
ConnorSkees
b6cf00c87b
addition between number and unary ops
2020-04-20 02:16:22 -04:00
ConnorSkees
23390238b9
implement addition between num + bool
2020-04-20 02:13:28 -04:00
ConnorSkees
759e5fdfef
simplify ident addition/subtraction
2020-04-18 13:44:11 -04:00
ConnorSkees
52c6ed0b64
remove QuoteKind::Single variant
2020-04-18 13:19:30 -04:00
ConnorSkees
62f9f7da4f
integrate error handling with codemap
2020-04-12 19:37:12 -04:00
ConnorSkees
d550615957
implement order of operations
2020-04-05 17:34:30 -04:00
ConnorSkees
3f98d1abca
initial implementation of get-function()
2020-04-03 21:38:34 -04:00
ConnorSkees
39031aefff
initial implementation of varargs
2020-04-02 13:33:26 -04:00
ConnorSkees
d48560781c
unquoted plus quoted is unquoted
2020-04-01 21:43:58 -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
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
beff60ad31
clippy
2020-03-30 17:06:23 -04:00
ConnorSkees
eb478b632d
initial implementation of maps
2020-03-30 15:44:06 -04:00
ConnorSkees
6608fe3f2f
allow negative numbers multiplication
2020-03-30 00:38:46 -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
7d12bc8142
implement unary ops + and -
2020-03-21 12:14:02 -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
9630343676
Implement modulo
2020-03-18 11:39:58 -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
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
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
4e7cf277e1
Improve binary op error messages
2020-02-29 20:01:43 -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
f8a09bec6e
Initial implementation of Div for Value::Dimension
2020-02-14 08:15:19 -05:00
ConnorSkees
4c70b84ed7
Calls to undefined functions should be treated as idents
2020-02-09 20:26:14 -05:00
ConnorSkees
7fcfeee97e
clippy
2020-02-09 19:07:44 -05:00
ConnorSkees
0ec2c46744
rustfmt
2020-02-09 18:28:24 -05:00