ConnorSkees
a3a33db47a
improve selector error handling
2020-06-22 12:39:09 -04:00
ConnorSkees
c1b5ff5730
prettify imports
2020-06-16 20:00:11 -04:00
ConnorSkees
71dd7df951
reimplement parsing
2020-06-16 19:38:30 -04:00
ConnorSkees
b135b87a69
resolve clippy lints
2020-06-07 23:11:43 -04:00
ConnorSkees
457eccc59b
reimplement @ at-root
2020-06-07 17:49:39 -04:00
ConnorSkees
8390fd8354
resolve clippy lints
2020-05-31 18:21:20 -04:00
ConnorSkees
f3a58e0fa3
initial implementation of selector-* builtin fns
2020-05-31 04:51:41 -04:00
ConnorSkees
ec83a9dff7
clippy
2020-05-24 17:41:24 -04:00
ConnorSkees
e5cceb60ec
track span_before when parsing values
...
this allows us to remove many panics on invalid input
2020-05-24 15:30:06 -04:00
ConnorSkees
737a6ba90d
emit proper error on unclosed quote
2020-05-24 10:04:30 -04:00
ConnorSkees
096abb6ca0
handle selector with nothing after colon
2020-05-24 09:07:16 -04:00
ConnorSkees
042dbfa914
remove panics from missing identifiers
2020-05-24 08:56:53 -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
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
2d0a9abb13
parse selectors that grow larger from interpolation
2020-05-16 17:28:30 -04:00
ConnorSkees
f6fd0e9af5
refactor how & is handled in values
2020-04-26 13:07:44 -04:00
ConnorSkees
4cdcf4f0d4
use peekmore rather than std::iter::Peekable
2020-04-20 03:45:28 -04:00
ConnorSkees
e07ceda8c7
add unit field to ident eating
2020-04-20 03:20:08 -04:00
ConnorSkees
62f9f7da4f
integrate error handling with codemap
2020-04-12 19:37:12 -04:00
ConnorSkees
47330a92c6
Selector::replace takes super selector by reference
2020-04-06 14:40:28 -04:00
ConnorSkees
8802a92f9b
at-root with nothing contains super selector
2020-04-06 13:30:36 -04:00
ConnorSkees
648dc04c33
initial implementation of @ at-root
2020-04-06 13:13:03 -04:00
ConnorSkees
86f2ac6a6c
remove placeholders in pseudo parens closer to correct
2020-04-05 12:52:02 -04:00
ConnorSkees
b7b58c2ac6
selector unification of pseudo parens
2020-04-05 02:39:38 -04:00
ConnorSkees
f4efcf0b45
better error message for invalid selector characters
2020-04-03 14:14:40 -04:00
ConnorSkees
2efab1cebe
clippy
2020-04-03 13:33:55 -04:00
ConnorSkees
2a01668ae0
refactor selector parsing
2020-04-03 13:28:37 -04:00
ConnorSkees
52edffd8fd
refactor attributes into separate file
2020-04-02 20:59:37 -04:00