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 @import
s 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
484409761d
implement @use
and the module system
...
This is an MVP implementation of the module system. `@forward` is not yet supported and some aspects may be untested.
2020-08-07 02:36:07 -04:00
Connor Skees
882c84c2d8
remove @use
from remaining features
2020-08-07 02:26:59 -04:00
Connor Skees
10b333f663
update newly passing tests from module system
2020-08-07 02:24:17 -04:00
Connor Skees
399fe1d99e
rustfmt
2020-08-07 02:12:13 -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
de9571b3fe
remove allow
s from modules
2020-08-06 03:53:18 -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
b2e7270681
resolve panic when extending certain psuedo selectors containing combinators without rhs selector
2020-08-04 23:18:16 -04:00
Connor Skees
5c8e88d16b
remove panic on malformed bracketed list
2020-08-04 02:36:33 -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
835aa34dee
Merge branch 'master' of https://github.com/connorskees/grass into modules
2020-08-02 15:58:16 -04:00
Connor Skees
74dad6af0c
allow whitespace after multiline comment in named args
2020-08-02 15:57:58 -04:00
Connor Skees
5efe99a404
resolve merge conflicts with master
2020-08-02 15:11:59 -04:00
Ivan Tham
4a9c200a7e
remove alpha from get_by_name
2020-08-02 15:03:55 -04:00
Ivan Tham
c5814a4a06
refactor parser return
2020-08-02 15:03:55 -04:00
Ivan Tham
edec89093b
use phf for named rgba map hashing
...
Improves many_named_colors benchmark by ~40%.
many_named_colors time: [897.66 us 900.05 us 903.05 us]
change: [-41.299% -40.114% -38.800%] (p = 0.00 < 0.05)
Performance has improved.
Found 6 outliers among 100 measurements (6.00%)
2 (2.00%) high mild
4 (4.00%) high severe
2020-08-02 15:03:55 -04:00
Ivan Tham
45476b8a75
elide lifetime for Default Options impl
2020-08-02 15:03:55 -04:00
Connor Skees
db41737ec7
hue can never be exactly 360
2020-08-02 15:03:26 -04:00