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
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
d88ac86bd1
consolidate builtin imports
2020-05-18 17:50:52 -04:00
ConnorSkees
1fb6822259
rename register to declare
2020-05-16 18:01:06 -04:00
ConnorSkees
a3604491e9
consolidate implementations of hsl and hsla
2020-05-16 17:49:30 -04:00
ConnorSkees
b5a0931e45
consolidate implementations of rgb and rgba
2020-05-16 17:45:04 -04:00
ConnorSkees
0aed492123
move builtin fns to outer scope to reduce nesting
2020-04-30 19:36:34 -04:00
ConnorSkees
170759239a
simplify declaration of rgb fns
2020-04-30 19:04:32 -04:00
ConnorSkees
4cfa29c971
simplify declaration of other color fns
2020-04-30 18:59:27 -04:00
ConnorSkees
11e0d523b2
simplify declaration of opacity fns
2020-04-30 18:54:29 -04:00
ConnorSkees
3e8b83d8ad
simplify declaration of hsl fns
2020-04-30 18:51:10 -04:00
ConnorSkees
2eef3e9f6a
store &'static str rather than String for builtin fn names
2020-04-30 15:00:57 -04:00
ConnorSkees
680790c49a
replace max_args! macro with builtin method
2020-04-22 06:17:52 -04:00
ConnorSkees
33ccabce7b
box color in value
2020-04-21 18:54:19 -04:00
ConnorSkees
25e6151aa9
remove workaround for compiler regression
2020-04-21 18:28:46 -04:00
ConnorSkees
de78c1147a
manually resolve some formatting issues
2020-04-17 13:06:54 -04:00
ConnorSkees
62f9f7da4f
integrate error handling with codemap
2020-04-12 19:37:12 -04:00
ConnorSkees
0ddabb5afd
hsl/hsla 4 args special functions
2020-04-07 00:04:19 -04:00
ConnorSkees
6b817dcb24
hsl/hsla 3 args special functions
2020-04-06 23:38:17 -04:00
ConnorSkees
b17420e00b
dont emit comma on one arg two channels special
2020-04-06 22:38:55 -04:00
ConnorSkees
203200ca4c
emit rgba inside rgba for two args special
2020-04-06 22:35:07 -04:00
ConnorSkees
b545c162f5
two arg special function rgb/rgba
2020-04-06 22:33:12 -04:00
ConnorSkees
c95c69be4d
avoid unwrapping in special functions rgb/rgba one arg green
2020-04-06 22:26:43 -04:00
ConnorSkees
65ba25e555
handle special functions in 1 arg rgb/rgba
2020-04-06 22:09:36 -04:00
ConnorSkees
b5a0957aa7
handle special functions in 3args rgba
2020-04-06 21:58:47 -04:00
ConnorSkees
97425665f9
consolidate implementation of rgb and rgba
2020-04-06 21:22:03 -04:00
ConnorSkees
b7be1705a2
args and default values are lazily evaluated
2020-04-04 18:17:04 -04:00
ConnorSkees
81c85a6f86
handle builtin functions in get-function
2020-04-03 23:49:44 -04:00
ConnorSkees
8e3e23c6cd
builtin functions take args by value
2020-04-02 13:45:14 -04:00
ConnorSkees
f9fc0ed8cb
differentiate named and positional args
2020-04-02 12:28:28 -04:00
ConnorSkees
981bf27cb8
properly parse and emit bracketed lists
2020-03-23 19:56:24 -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
22ab800e4c
remove todo! from other color functions
2020-03-21 00:10:15 -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
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
276134eb93
prefer hashmap over btreemap where ordering is unimportant
2020-03-03 19:51:02 -05:00
ConnorSkees
33d486ccde
Properly handle hsl value in color::other functions
2020-02-17 08:16:04 -05:00
ConnorSkees
f550d820b0
change-color() hue error message
2020-02-16 22:49:19 -05:00
ConnorSkees
4040e3ad1c
sat and lum in change color are scale:
2020-02-16 22:46:27 -05:00