1651 Commits

Author SHA1 Message Date
Connor Skees
2c5b7c9198 update newly passing tests 2020-08-15 22:25:11 -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
679bb94b53 add tests for unitful NaN passed to builtin functions 2020-08-15 20:07:27 -04:00
Connor Skees
2b647ffd49 bump version to 0.10.2 2020-08-14 15:55:07 -04:00
Midas Lambrichts
c09e3dccd6 Overwrite output file if already present.
File::open() opens in read only mode. Has been modified to OpenOptions
to be able to both create the file if it doensn't exist, and truncate
and write if it does.

Fixes #34
2020-08-14 21:40:20 +02:00
Connor Skees
fdf8e6136c add more tests for unicode range edge cases 2020-08-13 17:20:29 -04:00
Connor Skees
63bb17fe09 explicitly test for urls beginning with single forward slash inside url 2020-08-13 17:08:53 -04:00
Connor Skees
3fca50c305 bump version to 0.10.1 2020-08-13 16:46:36 -04:00
Connor Skees
46ecbfffe5 update newly passing tests 2020-08-12 16:27:16 -04:00
Connor Skees
2d798a6386 better support for NaN passed to builtin functions 2020-08-12 16:11:21 -04:00
Connor Skees
a665cb13cc remove cfg(test) from test files 2020-08-11 20:22:24 -04:00
Connor Skees
9e2397ce8d refactor !important tests into separate file 2020-08-11 14:58:41 -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
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 allows 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