270 Commits

Author SHA1 Message Date
ConnorSkees
082d58853b implement special-cased functions min and max 2020-06-22 10:11:30 -04:00
ConnorSkees
195079de86 initial implementation of @extend 2020-06-20 06:09:12 -04:00
ConnorSkees
d196a93f91 arglists are lists too 2020-06-18 18:22:58 -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
Connor Skees
365325729a
Merge pull request #12 from connorskees/selector-fns
Implement builtin selector functions
2020-06-07 23:29:06 -04:00
ConnorSkees
b135b87a69 resolve clippy lints 2020-06-07 23:11:43 -04:00
ConnorSkees
113e011652 implement simple-selectors 2020-06-07 17:40:24 -04:00
ConnorSkees
e76903cb47 initial implementation of selector-replace 2020-06-07 17:12:01 -04:00
ConnorSkees
d71e996e2b initial implementation of selector-extend 2020-06-07 11:46:34 -04:00
ConnorSkees
3552fbcb99 allow negative values in single arg hsl/hsla 2020-06-03 21:23:33 -04:00
ConnorSkees
29f7b286b0 handle negative values in 1arg rgba? 2020-06-02 17:06:31 -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
368f0cf596 refactor away clone inside get-function 2020-05-22 20:24:01 -04:00
ConnorSkees
b4b2edc9a4 use Identifier for SassFunction names 2020-05-22 20:13:39 -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
3e5abf0587 remove keywords 2020-05-22 14:09:28 -04:00
ConnorSkees
b15740976c remove superfluous allocations when resolving idents 2020-05-22 13:49:19 -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
45a29c9697 refactor Number::to_integer 2020-05-20 22:40:21 -04:00
ConnorSkees
d88ac86bd1 consolidate builtin imports 2020-05-18 17:50:52 -04:00
ConnorSkees
c07bb7ecce refactor == and != order of operations 2020-05-16 22:43:13 -04:00
ConnorSkees
1fb6822259 rename register to declare 2020-05-16 18:01:06 -04:00
ConnorSkees
a3604491e9 consolidate implementations of hsl and hsla 2020-05-16 17:49:30 -04:00
ConnorSkees
b5a0931e45 consolidate implementations of rgb and rgba 2020-05-16 17:45:04 -04:00
ConnorSkees
6729f24b17 Value::inspect returns cow 2020-05-06 11:50:35 -04:00
ConnorSkees
0aed492123 move builtin fns to outer scope to reduce nesting 2020-04-30 19:36:34 -04:00
ConnorSkees
170759239a simplify declaration of rgb fns 2020-04-30 19:04:32 -04:00
ConnorSkees
4cfa29c971 simplify declaration of other color fns 2020-04-30 18:59:27 -04:00
ConnorSkees
11e0d523b2 simplify declaration of opacity fns 2020-04-30 18:54:29 -04:00
ConnorSkees
3e8b83d8ad simplify declaration of hsl fns 2020-04-30 18:51:10 -04:00
ConnorSkees
22098ca684 simplify declaration of string fns 2020-04-30 18:41:33 -04:00
ConnorSkees
26aabb42ad simplify declaration of meta fns 2020-04-30 18:31:55 -04:00
ConnorSkees
8a3ba1ae07 make lowercase in place where possible 2020-04-30 16:08:35 -04:00
ConnorSkees
fda95683ce simplify declaration of math fns 2020-04-30 15:48:54 -04:00
ConnorSkees
2d094490ba simplify declaraction of map fns 2020-04-30 15:18:54 -04:00
ConnorSkees
2eef3e9f6a store &'static str rather than String for builtin fn names 2020-04-30 15:00:57 -04:00
ConnorSkees
f2322dda4d simplify declaration of list functions 2020-04-30 14:47:07 -04:00
ConnorSkees
f4f4fe2e03 wrap match in Ok rather than all branches 2020-04-26 18:51:08 -04:00
ConnorSkees
680790c49a replace max_args! macro with builtin method 2020-04-22 06:17:52 -04:00
ConnorSkees
33ccabce7b box color in value 2020-04-21 18:54:19 -04:00
ConnorSkees
25e6151aa9 remove workaround for compiler regression 2020-04-21 18:28:46 -04:00