59 Commits

Author SHA1 Message Date
ConnorSkees
81aa6ee4b8 fix how equality is resolved between pseudo selectors 2020-06-23 04:28:37 -04:00
ConnorSkees
eb6f0f3451 remove superfluous lifetimes and returns 2020-06-22 12:41:59 -04:00
ConnorSkees
a3a33db47a improve selector error handling 2020-06-22 12:39:09 -04:00
ConnorSkees
4bc44bdd15 use dummy value for codeblock language 2020-06-20 06:34:15 -04:00
ConnorSkees
9a5c4d0816 put no_run between ticks 2020-06-20 06:20:35 -04:00
ConnorSkees
5a97e9d09e resolve merge conflicts 2020-06-20 06:16:42 -04:00
ConnorSkees
bc1c15ad21 resolve merge conflicts 2020-06-20 06:10:48 -04:00
ConnorSkees
195079de86 initial implementation of @extend 2020-06-20 06:09:12 -04:00
ConnorSkees
47c4a421ac upgrade dependencies 2020-06-19 22:47:06 -04:00
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