243 Commits

Author SHA1 Message Date
ConnorSkees
622ca8ceef Remove more instances of unwrap() 2020-01-18 19:00:49 -05:00
ConnorSkees
d2ae3a4a0b Add cargo metadata 2020-01-18 18:59:43 -05:00
ConnorSkees
bb10fad2b8 Tidy imports 2020-01-18 18:36:00 -05:00
ConnorSkees
f3d21f1677 Parse files given path from stdin 2020-01-18 18:12:53 -05:00
ConnorSkees
0d9d1fc234 Properly interpolate all path variants 2020-01-18 18:08:32 -05:00
ConnorSkees
0485256115 Handle basic imports 2020-01-18 15:47:51 -05:00
ConnorSkees
9be0826d01 Refactor how StyleSheet is constructed 2020-01-18 14:57:56 -05:00
ConnorSkees
fb33159996 Add tempfile as dev dependency 2020-01-18 14:56:18 -05:00
ConnorSkees
afef31b808 Normalize units in selector 2020-01-18 10:27:02 -05:00
ConnorSkees
31d8017a01 rustfmt 2020-01-18 09:52:21 -05:00
ConnorSkees
abdfa1b876 Handle interpolation in mixins 2020-01-18 09:42:25 -05:00
ConnorSkees
ab8e98244f Handle positional arguments to mixins 2020-01-18 09:03:38 -05:00
ConnorSkees
d1ea6d2dd6 Fix regression: empty style should not be treated as an error 2020-01-18 08:51:47 -05:00
ConnorSkees
e15c88a3c7 rustfmt 2020-01-17 22:40:13 -05:00
ConnorSkees
8076125576 Propagate errors properly (reduce unwrap() calls) 2020-01-17 21:42:51 -05:00
ConnorSkees
02d6a511a5 remove extraneous clones 2020-01-17 21:20:56 -05:00
ConnorSkees
4114cc6f9d Add tests for variable scoping 2020-01-17 21:15:38 -05:00
ConnorSkees
eaf1e8eb96 Consume whitespace after variable value 2020-01-17 21:03:01 -05:00
ConnorSkees
cee40858ee Refactor function parsing into separate module 2020-01-17 16:23:21 -05:00
ConnorSkees
364480dc6f Add tests for nested rulesets in mixins 2020-01-17 16:14:19 -05:00
ConnorSkees
b05301f442 MVP of mixin args 2020-01-17 14:44:55 -05:00
ConnorSkees
e1191d7108 Properly consume mixin declarations and add tests for mixins 2020-01-17 10:44:16 -05:00
ConnorSkees
d4f50c8acc Remove nesting check in ruleset parsing 2020-01-17 10:43:03 -05:00
ConnorSkees
5b631fb588 don't count chars in comment 2020-01-17 10:38:59 -05:00
ConnorSkees
64c6a35add Refactor to static functions rather than methods for reusability 2020-01-17 08:14:10 -05:00
ConnorSkees
cbef775ef4 Consolidate tests to be on CSS output rather than internal representation 2020-01-14 20:23:05 -05:00
ConnorSkees
e3968ac047 Refactor out variable eating 2020-01-14 19:34:13 -05:00
ConnorSkees
2389abaeed Remove unused SelectorKind variant 2020-01-14 17:47:37 -05:00
ConnorSkees
c6fe179eeb Refactor and consolidate interpolation parsing 2020-01-14 17:39:19 -05:00
ConnorSkees
cdbd4ff9a6 Considate variable dereferencing into util function 2020-01-12 20:56:07 -05:00
ConnorSkees
7d469625be rustfmt 2020-01-12 20:55:24 -05:00
ConnorSkees
4f99e60007 Commit mixin work 2020-01-12 20:15:40 -05:00
ConnorSkees
33843dd2ac Refactor various devour_whitespace methods into single util function 2020-01-12 20:15:27 -05:00
ConnorSkees
2439579d20 Initial implementation of @include and mixin eval 2020-01-12 19:56:58 -05:00
ConnorSkees
5e58cceae7 Clarify differences between [] and {} 2020-01-12 19:56:33 -05:00
ConnorSkees
107a7d996e Refactor how scope is handled and basic mixin parsing 2020-01-12 17:44:49 -05:00
ConnorSkees
9b4228f14c Add > and < ops 2020-01-12 12:18:44 -05:00
ConnorSkees
bd4b38550c Handle interpolation inside selectors and styles 2020-01-12 10:54:46 -05:00
ConnorSkees
77d5c8ea2e Lex interpolations 2020-01-12 10:52:51 -05:00
ConnorSkees
fd423ce300 Initial implementation of @debug and @warn 2020-01-11 20:41:36 -05:00
ConnorSkees
42d0fa657f Remove unused TokenKind variant 2020-01-11 19:39:42 -05:00
ConnorSkees
316156106a Move Color to separate file and implement fmt::UpperHex 2020-01-11 19:33:21 -05:00
ConnorSkees
c73be13024 Handle pseudo selectors with arguments 2020-01-11 19:16:59 -05:00
ConnorSkees
6746ac1619 Add CSS & bem tests 2020-01-11 18:43:42 -05:00
ConnorSkees
eccb02a426 Importer boilerplate 2020-01-11 18:42:42 -05:00
ConnorSkees
d930659ffe Remove useless asserts 2020-01-11 18:41:59 -05:00
ConnorSkees
d3620be4d8 Fix css rendering bug where nested styles would get eaten 2020-01-11 17:25:53 -05:00
ConnorSkees
97958b01a7 Implement & only inside selectors 2020-01-11 16:12:23 -05:00
ConnorSkees
ebfeb35341 Refactor Selector to be Vec rather than recursive enum
The initial implementation of Selector was a recursive
enum with boxed variants. This new implementation is linear
and relies on only one level of indirection.
2020-01-11 14:51:31 -05:00
ConnorSkees
dc05c8db2d Handle several nested blocks 2020-01-09 21:30:21 -05:00