50 Commits

Author SHA1 Message Date
ConnorSkees
2cd81ccb0f bump version to 0.9.0 2020-06-16 20:50:41 -04:00
Connor Skees
2ad1b70f61
Refactor parsing into struct, rather than standalone functions
reimplement parsing
2020-06-16 20:37:10 -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
8452fd5786 better document todo: 2020-06-14 13:53:46 -04:00
ConnorSkees
b135b87a69 resolve clippy lints 2020-06-07 23:11:43 -04:00
ConnorSkees
5dceb27950 test special case :current in is-superselector 2020-06-07 21:34:34 -04:00
ConnorSkees
b609e7a6ab return true for is_superselector of subselector pseudos 2020-06-07 18:20:51 -04:00
ConnorSkees
457eccc59b reimplement @ at-root 2020-06-07 17:49:39 -04:00
ConnorSkees
e76903cb47 initial implementation of selector-replace 2020-06-07 17:12:01 -04:00
ConnorSkees
e0ab71f73e simple pseudo selector-extend tests 2020-06-07 13:27:54 -04:00
ConnorSkees
d71e996e2b initial implementation of selector-extend 2020-06-07 11:46:34 -04:00
ConnorSkees
8390fd8354 resolve clippy lints 2020-05-31 18:21:20 -04:00
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