224 Commits

Author SHA1 Message Date
ConnorSkees
053dac2ecb remove stylesheet module 2020-06-16 20:03:12 -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
8390fd8354 resolve clippy lints 2020-05-31 18:21:20 -04:00
ConnorSkees
ab61f9fb32 Merge branch 'master' into selector-fns 2020-05-31 05:38:24 -04:00
ConnorSkees
b64ad5b1f3 resolve all clippy lints 2020-05-31 05:32:19 -04:00
ConnorSkees
f3a58e0fa3 initial implementation of selector-* builtin fns 2020-05-31 04:51:41 -04:00
ConnorSkees
bb53aaab8a replace std::borrow::Cow with beef::Cow 2020-05-25 13:09:20 -04:00
ConnorSkees
6d76e1518a refactor away many unwraps 2020-05-25 00:57:59 -04:00
ConnorSkees
ec83a9dff7 clippy 2020-05-24 17:41:24 -04:00
ConnorSkees
21d830d6ff remove usage of .expect 2020-05-24 16:57:07 -04:00
ConnorSkees
8d4b4bedbe remove unwrap in peek_ident 2020-05-24 15:53:51 -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
3051cec45a disallow standalone @else 2020-05-24 12:47:04 -04:00
ConnorSkees
737a6ba90d emit proper error on unclosed quote 2020-05-24 10:04:30 -04:00
ConnorSkees
a01ed981ce make parsing of toplevel tokens more robust 2020-05-24 07:43:54 -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
3e5abf0587 remove keywords 2020-05-22 14:09:28 -04:00
ConnorSkees
5bed62c404 keywords are thread_local 2020-05-22 13:47:48 -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
2bd8232a00 emit proper error for toplevel " 2020-05-21 13:39:37 -04:00
ConnorSkees
b94a2403d0 fix panics related to toplevel hash and quotes 2020-05-21 12:21:52 -04:00
ConnorSkees
709b95d035 improve span information in values 2020-05-21 11:48:38 -04:00
ConnorSkees
2faf9fcb60 improve error handling of variables in styles 2020-05-21 00:41:04 -04:00
ConnorSkees
d39a45090a separate media and unknown at rules 2020-05-20 20:13:53 -04:00
ConnorSkees
f8b8025d7c fix panic when missing colon in style 2020-05-17 11:09:21 -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
6e7f1cc319 remove some panicking 2020-05-17 00:08:50 -04:00
ConnorSkees
66f24c474d fix build on wasm 2020-05-05 19:12:17 -04:00
ConnorSkees
648e101c49 add tests passing at the start of may 2020-05-05 19:01:40 -04:00
ConnorSkees
2e8126af13 prefer match over if let .. else .. 2020-05-02 12:25:53 -04:00
ConnorSkees
05b78a3ddd add profiling feature 2020-05-01 15:43:43 -04:00
ConnorSkees
8711e61398 refactor stylesheet into separate file 2020-04-27 15:53:43 -04:00
ConnorSkees
3615835e03 allow @content in more contexts 2020-04-26 21:29:09 -04:00
ConnorSkees
f1b60019a1 handle self referential default args 2020-04-26 13:51:49 -04:00
ConnorSkees
690c8a1f89 clippy 2020-04-26 01:52:43 -04:00
ConnorSkees
f60089f4f9 refactor parsing and eval of @ each 2020-04-24 22:58:28 -04:00
ConnorSkees
cc881db254 more robustly handle import paths 2020-04-24 21:38:25 -04:00
ConnorSkees
aea4235c9b simplify variable checks 2020-04-24 20:13:22 -04:00
ConnorSkees
2fb64934d7 emit proper error for missing quotes on @ import 2020-04-24 20:00:22 -04:00
ConnorSkees
0969df8fe5 handle url edge case involving ; and no space between before style 2020-04-24 19:13:38 -04:00
ConnorSkees
b8ca587353 experimental support for wasm 2020-04-24 18:08:20 -04:00
ConnorSkees
409ac80921 handle multiline comments surrounding @ if condition 2020-04-23 19:32:32 -04:00
ConnorSkees
9bb7c05d19 improve handling of @ while scoping 2020-04-23 18:14:42 -04:00
ConnorSkees
ca318d47df properly handle @ while in functions 2020-04-23 15:23:53 -04:00
ConnorSkees
5b33b8fc74 refactor @ for to be used in @ function 2020-04-23 13:57:10 -04:00
ConnorSkees
34b886b758 more robustly handle escaping 2020-04-22 10:57:57 -04:00
ConnorSkees
632ff5aae8 take reference to path 2020-04-21 18:43:10 -04:00
ConnorSkees
3805eaab2b clippy 2020-04-21 18:22:26 -04:00
ConnorSkees
6a01eeb1d8 Remove format module
This was code leftover from before there were proper unit tests. It
remained for some time as a debugging tool, but as more features have
been added, it has become a maintenance burden and no longer provides a
tangible benefit.
2020-04-21 18:01:35 -04:00