ConnorSkees
ccc0c84eee
remove all unwraps and todo! from selector parsing
2020-05-31 15:16:25 -04:00
ConnorSkees
d5844e3536
more tests for is-superselector
2020-05-31 08:01:32 -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
3c129780d0
span_before in quoted string
2020-05-24 16:27:07 -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
b58ed29fd0
add more span information
...
this resolves a lot of panics that occurred when there was no more input
2020-05-17 00:35:07 -04:00
ConnorSkees
2d0a9abb13
parse selectors that grow larger from interpolation
2020-05-16 17:28:30 -04:00
ConnorSkees
769b7628d8
refactor QualifiedName into common
2020-04-26 23:52:32 -04:00
ConnorSkees
f6fd0e9af5
refactor how & is handled in values
2020-04-26 13:07:44 -04:00
ConnorSkees
690c8a1f89
clippy
2020-04-26 01:52:43 -04:00
ConnorSkees
4a2503b04c
refactor attribute parsing
2020-04-26 00:55:38 -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
cdcb84b7b2
escape [] in attribute doc comment
2020-04-04 19:07:00 -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
4565121b34
for now, don't unquote attr val
2020-04-02 22:07:22 -04:00
ConnorSkees
db9515d347
strip qutoes from attribute value
2020-04-02 21:59:36 -04:00
ConnorSkees
c1d79047f2
change casing of expected in modifier error
2020-04-02 21:51:55 -04:00
ConnorSkees
476578cdc6
fail on modifier with attrkind any
2020-04-02 21:44:26 -04:00
ConnorSkees
6e8c226834
remove unwrap and todo! from attribute parsing
2020-04-02 21:23:23 -04:00
ConnorSkees
6923869b7e
rename attribute kinds
2020-04-02 21:10:45 -04:00
ConnorSkees
52edffd8fd
refactor attributes into separate file
2020-04-02 20:59:37 -04:00