297 Commits

Author SHA1 Message Date
Connor Skees
8c23ec046e allow loading of builtin modules 2020-07-25 20:05:46 -04:00
Connor Skees
20fc9e8e6b simplify interpolated ident parsing by changing if stmt to match 2020-07-12 13:18:39 -04:00
Connor Skees
5902ebd642 arg methods are now inherent to CallArgs, rather than parser 2020-07-10 21:42:10 -04:00
Connor Skees
a379d870fc remove Hash impl for Value 2020-07-10 00:17:15 -04:00
Connor Skees
830d56bd77 only evaluate division in certain cases 2020-07-09 23:52:35 -04:00
Connor Skees
f9455caeea derive Copy for Identifier 2020-07-08 22:38:56 -04:00
Connor Skees
ca370eb9b0 avoid allocating unnecessary errors for getting functions 2020-07-08 20:35:15 -04:00
Connor Skees
47902c077c refactor how scopes are calculated 2020-07-08 14:51:04 -04:00
Connor Skees
3a5526ab26 avoid unnecessary allocations when converting String to Identifier 2020-07-08 10:38:25 -04:00
Connor Skees
0c0c154b66 avoid cloning identifiers for functions 2020-07-07 21:11:45 -04:00
Connor Skees
790573195f resolve clippy lints 2020-07-07 01:13:15 -04:00
Connor Skees
57562b52d3 map equality is independent of order 2020-07-07 01:06:22 -04:00
Connor Skees
6138efc059 refactor value equality checks 2020-07-07 00:01:34 -04:00
Connor Skees
ba7a368684 allow empty arglists in builtin map functions 2020-07-06 22:25:27 -04:00
Connor Skees
70cc7afdaf use inspect for builtin function error messages 2020-07-06 22:25:27 -04:00
Connor Skees
92aa149f8a remove dependency on bitflags 2020-07-05 10:21:43 -04:00
Ivan Tham
85ec26001a Keep parser context with bitflags 2020-07-05 09:35:42 -04:00
Connor Skees
d7fd88dea4 properly evaluated builtin fn if when one arg contains an error 2020-07-03 15:06:26 -04:00
Connor Skees
b473717861 rename Value::Function to Value::FunctionRef 2020-07-03 12:58:09 -04:00
Connor Skees
596def3906 refactor value evaluation 2020-07-03 12:38:20 -04:00
Connor Skees
f437649103 add support for splats 2020-07-02 17:25:52 -04:00
Connor Skees
94d94abf7a default arg fns are infallible 2020-07-02 16:37:24 -04:00
Connor Skees
e9f2cdbe4d resolve clippy lints 2020-07-02 15:57:14 -04:00
Connor Skees
1b033c3643 properly handle chained @content 2020-07-02 15:22:15 -04:00
Connor Skees
a88f07da54 allow @content to take arguments 2020-07-02 10:31:32 -04:00
ConnorSkees
402d7bf8e6 unignore passing tests 2020-06-23 04:28:54 -04:00
ConnorSkees
a3a33db47a improve selector error handling 2020-06-22 12:39:09 -04:00
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