121 Commits

Author SHA1 Message Date
Connor Skees
47902c077c refactor how scopes are calculated 2020-07-08 14:51:04 -04:00
Connor Skees
57562b52d3 map equality is independent of order 2020-07-07 01:06:22 -04:00
Connor Skees
827225a143 initial implementation of @keyframes 2020-07-04 20:50:53 -04:00
Connor Skees
bf0665bbcd @content tokens can access local scope 2020-07-02 15:43:11 -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
Connor Skees
6ea036581b mixin stores body as Vec<Token> 2020-06-30 06:53:17 -04:00
Connor Skees
0483f7f057 remove superfluous trait derives 2020-06-28 03:33:04 -04:00
ConnorSkees
f9be622eeb put errors in Box 2020-06-26 05:12:28 -04:00
ConnorSkees
e12d3a581d reduce size of parse::Stmt 2020-06-25 00:27:24 -04:00
ConnorSkees
2887016ceb tidy documentation
standardize capitalization of "Sass" and make updates to reflect new
0.9.0 API
2020-06-20 06:31:43 -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
632d649fdb if conditions are evaluated lazily 2020-06-08 00:01:14 -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
457eccc59b reimplement @ at-root 2020-06-07 17:49:39 -04:00
ConnorSkees
8846a09d1c @ else is case sensitive 2020-06-01 21:44:10 -04:00
ConnorSkees
6a13c6f320 at-rules are case sensitive 2020-06-01 21:35:23 -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
25301f8dd1 Merge branch 'master' of https://github.com/connorskees/grass 2020-05-31 04:52:14 -04:00
ConnorSkees
f3a58e0fa3 initial implementation of selector-* builtin fns 2020-05-31 04:51:41 -04:00
Ivan Tham
d2af63ed31 refactor media conditional 2020-05-26 15:32:41 +08:00
ConnorSkees
6820416c8d resolve merge conflicts 2020-05-25 16:15:42 -04:00
ConnorSkees
a7d6af9cc8 clean up AtRuleKind docs 2020-05-25 15:52:53 -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
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
c9e5bc89c4 remove unwrap in unknown at rule parsing 2020-05-24 12:52:38 -04:00
ConnorSkees
3051cec45a disallow standalone @else 2020-05-24 12:47:04 -04:00
ConnorSkees
f52d784756 remove panic from unclosed call args 2020-05-24 10:18:15 -04:00
ConnorSkees
737a6ba90d emit proper error on unclosed quote 2020-05-24 10:04:30 -04:00
ConnorSkees
5137353cb4 rustfmt 2020-05-23 14:08:40 -04:00
ConnorSkees
c4cfb9112e eagerly evaluate \@if conditions 2020-05-23 13:39:47 -04:00
ConnorSkees
3c97400935 remove panics on malformed @ if 2020-05-23 12:48:34 -04:00
ConnorSkees
33c5acc35f use Identifier for FuncArg 2020-05-22 22:43:29 -04:00
ConnorSkees
b081fe780b handle escaped @ else
this commit makes the assumption that
https://github.com/sass/dart-sass/issues/1011 is unintended behavior
and may need to be reverted should dart-sass decide it is intended
2020-05-22 21:34:22 -04:00
ConnorSkees
2102781f62 create structure for identifiers
it looks like rustfmt also updated during this commit, so there are some
formatting changes
2020-05-22 18:21:18 -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
d39a45090a separate media and unknown at rules 2020-05-20 20:13:53 -04:00
ConnorSkees
eb7fe52074 minor cleanup 2020-05-19 18:28:18 -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
d4f67b5ed9 clippy 2020-05-16 18:38:37 -04:00
ConnorSkees
dcdd2a1cb1 edge case in which @ include had no args AND no semicolon 2020-05-16 16:54:34 -04:00
ConnorSkees
4b15b27119 refactor mixin args 2020-05-13 23:56:47 -04:00
ConnorSkees
0cbdc67f06 improve scoping with regard to function variables existing 2020-05-13 01:32:29 -04:00