1652 Commits

Author SHA1 Message Date
Connor Skees
9d55adf927 improve documentation for Options struct 2020-07-15 14:03:11 -04:00
Connor Skees
2b59bdf961 implement option for quiet output 2020-07-15 13:40:39 -04:00
Connor Skees
f8453e4a0a disallow interpolation in the name of mixin declarations 2020-07-15 13:20:50 -04:00
Joe Ling - uni laptop
1307005639 fmt fixed 2020-07-15 13:57:48 +01:00
Joe Ling - uni laptop
9135dd4782 fixed clippy errors again by addign inline for options::default 2020-07-15 13:53:15 +01:00
Joe Ling - uni laptop
07524e0905 fixed clippy errors 2020-07-15 13:42:18 +01:00
Joe Ling - uni laptop
50d1987af2 Added grass::Options and implemented options.load_paths 2020-07-15 12:37:19 +01:00
Joe Ling - uni laptop
5c20c00d6d updated comments for import and from_paths 2020-07-13 18:53:53 +01:00
Joe Ling - uni laptop
ec5ab05330 added find_import to import and renamed lib method to from_paths 2020-07-13 18:18:25 +01:00
Joe Ling - uni laptop
33a2c7efbf fixed fmt and clippy warnings 2020-07-13 16:17:16 +01:00
Joe Ling - uni laptop
afbae12b72 fixed formatting 2020-07-13 15:39:14 +01:00
Joe Ling - uni laptop
fe26350932 Added load_paths for @import 2020-07-13 14:52:52 +01:00
Connor Skees
20fc9e8e6b simplify interpolated ident parsing by changing if stmt to match 2020-07-12 13:18:39 -04:00
Connor Skees
c2384595e8 improve span context in @extend, removing some potential panics 2020-07-12 13:09:23 -04:00
Connor Skees
d56100a324 correctly parse styles after @supports and unknown at rules 2020-07-10 22:24:03 -04:00
Connor Skees
b4bdd2f926 deny mixins in functions, control flow, and mixins 2020-07-10 22:03:15 -04:00
Connor Skees
005f0e52e8 make read_until_newline parser method public 2020-07-10 21:48:19 -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
3c756f661d unconditionally exit mixin scope 2020-07-10 21:23:26 -04:00
Connor Skees
a3ebcb298a hide unimplemented commandline flags 2020-07-10 16:31:44 -04:00
Connor Skees
6bdccb9e41 update changelog 2020-07-10 16:31:08 -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
0639a6ba2b correctly parse quoted media queries 2020-07-09 13:43:27 -04:00
Connor Skees
a813cab0d7 remove generics from utility fns 2020-07-09 11:56:58 -04:00
Connor Skees
b199984170 avoid superfluous clone+collect in extend_compound 2020-07-09 11:17:43 -04:00
Connor Skees
1b8e0ebcd2 properly recognize arglist of null as null 2020-07-08 23:49:30 -04:00
Connor Skees
cee16fece7 loop indexing vars do not affect outer scopes 2020-07-08 23:17:20 -04:00
Connor Skees
f9455caeea derive Copy for Identifier 2020-07-08 22:38:56 -04:00
Connor Skees
65b281d1f7 reduce size of Unit enum 2020-07-08 21:39:30 -04:00
Connor Skees
2dfda192bc implement string interning 2020-07-08 21:36:41 -04:00
Connor Skees
5551a8f8a8 avoid hashing identifier for function when empty 2020-07-08 21:01:05 -04:00
Connor Skees
5b2cc1df77 use btreemap to back scope 2020-07-08 20:50:18 -04:00
Connor Skees
ca370eb9b0 avoid allocating unnecessary errors for getting functions 2020-07-08 20:35:15 -04:00
Connor Skees
05b6b539ad avoid creating unnecessary errors
previously, when attempting to locate a mixin/fn/variable, we would
check if it existing simply by calling `get_{mixin,fn,var}`. this caused
*large* performance regressions in bootstrap, where almost 15% of the
execution time was spent in these functions. the cause for this was that
`get_*` both allocates a new String and boxes the error.
2020-07-08 20:26:54 -04:00
Connor Skees
11170ac5b3 remove unused Content::new method 2020-07-08 19:34:39 -04:00
Connor Skees
980b2d9076 prefer append over extend in callarg parsing 2020-07-08 19:25:35 -04:00
Connor Skees
5ce9f78103 simplify by using mem::swap instead of mem::take 2020-07-08 18:19:23 -04:00
Connor Skees
02efd09d80 avoid cloning the entire scope 2020-07-08 17:52:37 -04:00
Connor Skees
316316d3a0 invert if stmt in parsing @content 2020-07-08 15:32:04 -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
558b49af6d better document purpose of Identifier 2020-07-08 10:25:37 -04:00
Connor Skees
56a5abb05c parsing interpolation no longer allocates buffer 2020-07-08 10:19:57 -04:00
Connor Skees
4b0b644264 refactor control flow parsing into separate module 2020-07-08 10:15:54 -04:00
Connor Skees
3f3fd97872 test for crazy interpolation in @for from value 2020-07-08 09:52:07 -04:00
Connor Skees
978984ae15 refactor how to value in @for is parsed 2020-07-08 09:25:35 -04:00
Connor Skees
b42ae61435 test for crazy interpolation inside @if 2020-07-08 09:08:25 -04:00
Connor Skees
0c0c154b66 avoid cloning identifiers for functions 2020-07-07 21:11:45 -04:00
Connor Skees
5f938315dc box attribute selector, significantly reducing the size of the simple selector enum 2020-07-07 21:00:20 -04:00