39 Commits

Author SHA1 Message Date
Connor Skees
a9be640124 arguments do not affect variables in outer scopes 2020-08-15 21:33:44 -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
36a55e582c use consume_char_if_exists to simplify parsing 2020-08-07 13:07:28 -04:00
Connor Skees
0254517095 refactor errors using Parser::expect_char 2020-08-06 21:36:11 -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
55bcd1d1dd resolve panic from malformed filter argument 2020-08-04 01:35:49 -04:00
Connor Skees
2df5e1b274 resolve panic on malformed args missing closing parenthesis 2020-08-02 22:24:37 -04:00
Connor Skees
a8ec130f64 resolve merge conflict with master 2020-07-29 08:38:13 -04:00
Connor Skees
f587a36367 fix regression involving min and max inside color functions 2020-07-29 08:27:53 -04:00
Connor Skees
734e0875da resolve merge conflicts with master 2020-07-29 07:30:20 -04:00
Connor Skees
6631b8ae0e correctly parse the function filter syntax 2020-07-28 18:09:23 -04:00
Connor Skees
f69b863e33 better handle silent comments in maps and fn args 2020-07-27 22:30:36 -04:00
Connor Skees
d6a1d64dcb implement @use ... as *; syntax 2020-07-27 18:55:38 -04:00
Connor Skees
7f25d526f5 more liberally throw away comments alongside whitespace 2020-07-25 15:03:49 -04:00
Connor Skees
3757c39c6f resolve panic from the input foo($--) 2020-07-25 14:45:11 -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
830d56bd77 only evaluate division in certain cases 2020-07-09 23:52:35 -04:00
Connor Skees
f9455caeea derive Copy for Identifier 2020-07-08 22:38:56 -04:00
Connor Skees
2dfda192bc implement string interning 2020-07-08 21:36:41 -04:00
Connor Skees
980b2d9076 prefer append over extend in callarg parsing 2020-07-08 19:25:35 -04:00
Connor Skees
02efd09d80 avoid cloning the entire scope 2020-07-08 17:52:37 -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
11e859705a remove value_from_vec where unnecessary 2020-07-07 18:06:28 -04:00
Connor Skees
9936656077 handle non-string keys in splatted map 2020-07-06 17:54:55 -04:00
Connor Skees
d7fd88dea4 properly evaluated builtin fn if when one arg contains an error 2020-07-03 15:06:26 -04:00
Connor Skees
596def3906 refactor value evaluation 2020-07-03 12:38:20 -04:00
Connor Skees
f437649103 add support for splats 2020-07-02 17:25:52 -04:00
Connor Skees
94d94abf7a default arg fns are infallible 2020-07-02 16:37:24 -04:00
Connor Skees
927faf30c6 eagerly evaluate call args 2020-07-02 16:32:43 -04:00
Connor Skees
8b907d4b67 consolidate arg evaluation for mixins and functions 2020-07-02 10:37:13 -04:00
Connor Skees
a88f07da54 allow @content to take arguments 2020-07-02 10:31:32 -04:00
ConnorSkees
ea0e04bfb9 eval varargs 2020-06-22 10:21:18 -04:00
ConnorSkees
962549e31b remove most remaining unwraps 2020-06-18 18:22:58 -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