243 Commits

Author SHA1 Message Date
Connor Skees
8d1e8a99c5 refactor how default variables are evaluated 2020-08-17 06:16:18 -04:00
Connor Skees
9548eb6deb convert single quotes to double quotes in calc 2020-08-17 04:48:11 -04:00
Connor Skees
7acaa94870 better handle strings passed to special css functions 2020-08-17 04:35:00 -04:00
Connor Skees
9b9946c0ee allow units beginning with a single - 2020-08-17 03:58:29 -04:00
Connor Skees
a0786619de @content may have call args even when it has no parens 2020-08-17 03:30:54 -04:00
Connor Skees
5bcf499942 & is null inside selectors at root 2020-08-17 03:13:45 -04:00
Connor Skees
befcb15cb5 !default variables can override if the value is null 2020-08-17 02:42:43 -04:00
Connor Skees
253bc3b35f deny comma separated lists without parens as keys to map 2020-08-16 20:00:14 -04:00
Connor Skees
f60fb26ca0 do not panic when extending by compound selector with parent 2020-08-16 19:09:08 -04:00
Connor Skees
a9be640124 arguments do not affect variables in outer scopes 2020-08-15 21:33:44 -04:00
Connor Skees
74bb9bad92 refactor bracketed list and number parsing to separate functions 2020-08-15 20:33:38 -04:00
Connor Skees
34dd92f78f hyphen followed by interpolation is not treated as subtraction 2020-08-15 20:18:37 -04:00
Connor Skees
a665cb13cc remove cfg(test) from test files 2020-08-11 20:22:24 -04:00
Connor Skees
45508a7665 add support for unicode ranges 2020-08-11 14:46:06 -04:00
Connor Skees
5133d580de improve error message for selector-parse and deny open curly brace 2020-08-11 02:00:10 -04:00
Connor Skees
0c7e2017d5 use patched version of peekmore 2020-08-08 21:38:59 -04:00
Connor Skees
fb785cf71c revert "make predicate optional for callers"
This reverts commit fda7f340cea60a90031aa8edffd8ab3a06d05992.

This commit made tests fail that it shouldn't have. The performance wins
from this change were negligible, so it is easiest to just revert it and
potentially come back to this change later
2020-08-08 14:36:59 -04:00
Connor Skees
fda7f340ce make predicate optional for callers 2020-08-08 02:27:54 -04:00
Connor Skees
a9bef0e24e more robustly parse default function arguments 2020-08-08 01:57:56 -04:00
Connor Skees
a3a21928c0 resolve map parsing regression involving trailing commas in doubly nested maps 2020-08-07 20:10:49 -04:00
Connor Skees
56030f1292 recognize plain css @imports beginning with // 2020-08-07 17:44:51 -04:00
Connor Skees
36bdea138d refactor how the from value in @for is parsed 2020-08-07 17:33:30 -04:00
Connor Skees
fac8b86a6a resolve integer underflow in @for when both to and from and i32::MIN 2020-08-07 16:51:17 -04:00
Connor Skees
f33739aa0f add more tests for malformed @for
test for capitalization of keywords, error messages, and regression
tests for integer overflows resulting when `from` or `to` ==
`std::i32::MAX`
2020-08-07 16:21:15 -04:00
Connor Skees
38a37a3997 more robustly parse !optional in selectors 2020-08-07 13:40:22 -04:00
Connor Skees
36a55e582c use consume_char_if_exists to simplify parsing 2020-08-07 13:07:28 -04:00
Connor Skees
1f14bc92e3 refactor parsing of parens using predicate 2020-08-07 13:01:58 -04:00
Connor Skees
be032b66f0 refactor parsing of media queries to use predicate parsing 2020-08-07 12:04:43 -04:00
Connor Skees
d5b2410a8c allow multiline comments in more contexts 2020-08-07 11:39:14 -04:00
Connor Skees
7a4a191d59 allow variable declarations before and between @use 2020-08-07 02:10:51 -04:00
Connor Skees
a7ccb4d6d3 move module variable parsing to module file 2020-08-07 02:03:46 -04:00
Connor Skees
438abe52be allow redeclaration of module variables 2020-08-07 02:01:04 -04:00
Connor Skees
bb0b352af2 move module parsing to separate file 2020-08-06 22:05:50 -04:00
Connor Skees
cacf605af8 respect $with argument to load-css 2020-08-06 21:58:53 -04:00
Connor Skees
0254517095 refactor errors using Parser::expect_char 2020-08-06 21:36:11 -04:00
Connor Skees
074d679cbd support the @use ... with (...) syntax 2020-08-06 21:05:40 -04:00
Connor Skees
94becb4dcb implement idempotency with regard to module aliasing 2020-08-06 04:01:46 -04:00
Connor Skees
d029fd2001 implement module mixins and meta.load-css 2020-08-06 03:46:58 -04:00
Connor Skees
d043167015 Merge branch 'master' of https://github.com/connorskees/grass into modules 2020-08-06 01:23:09 -04:00
Connor Skees
8fabda6363 use back() rather than indexing at len - 1 2020-08-05 03:26:50 -04:00
Connor Skees
61ef52eb3f replace .get(0) with .first() 2020-08-05 03:09:10 -04:00
Connor Skees
df1456f9b1 use new predicate parsing for bracketed lists 2020-08-05 03:03:58 -04:00
Connor Skees
9c2d1200f7 allow multiline comments in functions 2020-08-04 02:13:15 -04:00
Connor Skees
a79c62c2fa allow escaped ! in selectors 2020-08-04 02:05:59 -04:00
Connor Skees
55bcd1d1dd resolve panic from malformed filter argument 2020-08-04 01:35:49 -04:00
Connor Skees
622d44ac63 disallow selectors and styles in functions 2020-08-04 01:18:34 -04:00
Connor Skees
3e5f69118b disallow more at-rules in @function 2020-08-02 23:00:00 -04:00
Connor Skees
2df5e1b274 resolve panic on malformed args missing closing parenthesis 2020-08-02 22:24:37 -04:00
Connor Skees
5efe99a404 resolve merge conflicts with master 2020-08-02 15:11:59 -04:00
Ivan Tham
c5814a4a06 refactor parser return 2020-08-02 15:03:55 -04:00