700 Commits

Author SHA1 Message Date
ConnorSkees
5295d18f02 Create module for builtin functions 2020-01-25 20:58:30 -05:00
ConnorSkees
9af3670d16 Handle function calls inside Value 2020-01-25 20:56:44 -05:00
ConnorSkees
93497ed4a8 Store Vec<Token> inside @return rather than Value
This is because we want to lazily evaluate variables
2020-01-25 20:55:44 -05:00
ConnorSkees
47ef4c1cda rustfmt 2020-01-25 20:53:51 -05:00
ConnorSkees
bb22fb3464 Handle trailing semicolons in Value 2020-01-25 14:11:32 -05:00
ConnorSkees
ddb5b6f32a Make function body a list of AtRule rather than token 2020-01-25 14:11:04 -05:00
ConnorSkees
cdd0ccca16 Refactor AtRule parsing and parse @return 2020-01-25 13:49:25 -05:00
ConnorSkees
a3c668ae83 Refactor 2020-01-25 13:25:38 -05:00
ConnorSkees
b0e1826449 Very basic @function implementation 2020-01-25 13:20:21 -05:00
ConnorSkees
d4e99051c7 Derive Debug and Clone for AtRule 2020-01-25 13:19:32 -05:00
ConnorSkees
b482a26934 Refactor AtRule parsing 2020-01-25 13:07:55 -05:00
ConnorSkees
225526a239 Create AtRule struct 2020-01-25 13:05:40 -05:00
ConnorSkees
6271da50eb Add functions to scope 2020-01-25 12:47:38 -05:00
ConnorSkees
fd951dca26 Make arg parsing agnostic to use 2020-01-25 12:46:51 -05:00
ConnorSkees
53988b377c Refactor AtRuleKind into separate file 2020-01-25 12:43:07 -05:00
ConnorSkees
59cead8ebd Refactor tests into separate directory 2020-01-25 11:06:49 -05:00
ConnorSkees
a61ac3fca3 Refactor arg parsing to separate file 2020-01-25 11:00:29 -05:00
ConnorSkees
bd73b1ba3e Handle more binary ops 2020-01-25 10:54:25 -05:00
ConnorSkees
7fe9da3d2c Initial implementation of parens in Value 2020-01-25 10:11:46 -05:00
ConnorSkees
05503b3a16 Tidy comment whitespace 2020-01-25 10:11:26 -05:00
ConnorSkees
9503b3288b Initial implementation of Value 2020-01-25 09:58:53 -05:00
ConnorSkees
4fe74ecf51 Don't run doctests and temporarily disable hyphen concat test 2020-01-25 09:57:44 -05:00
ConnorSkees
b0447ddc69 Add + - * / % ops 2020-01-25 09:56:27 -05:00
ConnorSkees
30cac02f9c Add IsComment trait and devour_comment utils 2020-01-25 09:54:38 -05:00
ConnorSkees
87bf73aa47 Derive Eq and PartialEq for Color 2020-01-22 02:16:12 -05:00
ConnorSkees
54aca3b84e Properly handle unknown units 2020-01-22 00:54:43 -05:00
ConnorSkees
8acb535347 Remove TokenKind::Unit variant 2020-01-22 00:54:03 -05:00
ConnorSkees
dc82d999e9 Lex % as symbol rather than unit 2020-01-22 00:40:32 -05:00
ConnorSkees
21515214cb Refactor interpolation eating 2020-01-20 18:56:23 -05:00
ConnorSkees
efe056d3c7 Create AtRuleKind::Else variant 2020-01-20 18:21:07 -05:00
ConnorSkees
a7ca888942 Parse styles not ending in semicolons 2020-01-20 18:09:25 -05:00
ConnorSkees
6242ff8417 Move file to let binding (and fix import tests) 2020-01-20 17:01:47 -05:00
ConnorSkees
296bc864fa Handle arbitrarily nested interpolation 2020-01-20 17:01:25 -05:00
ConnorSkees
d85f9d32f6 Make @import tests work 2020-01-20 16:00:37 -05:00
ConnorSkees
75f38ba416 Move #[track_caller] behind feature gate 2020-01-20 13:39:25 -05:00
ConnorSkees
25b4bebdf8 Make everything private except StyleSheet 2020-01-20 13:15:47 -05:00
ConnorSkees
2efdf489ca clippy 2020-01-20 12:17:07 -05:00
ConnorSkees
1cd38f0317 Convert errors to strings for pretty printing 2020-01-20 12:13:52 -05:00
ConnorSkees
0824a019c2 Properly lex ?, |, \f, and = 2020-01-20 11:39:05 -05:00
ConnorSkees
37ad341f91 Add short version flag 2020-01-20 11:09:05 -05:00
ConnorSkees
058772edb4 Refactor into library and add argument parsing 2020-01-20 11:00:01 -05:00
ConnorSkees
f23dec81ec Change return type and name of Mixin::from_tokens 2020-01-20 09:48:51 -05:00
ConnorSkees
6efb4141f6 Prefer match over if let 2020-01-20 09:37:09 -05:00
ConnorSkees
33244c34d7 Rename AtRule enum to AtRuleKind 2020-01-20 08:36:06 -05:00
ConnorSkees
c64daceb20 Refactor conversion of SCSS to CSS 2020-01-19 19:27:52 -05:00
ConnorSkees
500b682739 Simplify handling of keyword arguments 2020-01-19 12:10:35 -05:00
ConnorSkees
1f1f43bf7c Implement keyword arguments in mixins 2020-01-19 11:50:30 -05:00
ConnorSkees
31506c7ce4 Add tests for default value arguments 2020-01-19 11:28:26 -05:00
ConnorSkees
1636d775c5 Implement default arguments in mixins 2020-01-19 10:58:38 -05:00
ConnorSkees
6da84575dc Prefer match over if let 2020-01-19 10:41:44 -05:00