1837 Commits

Author SHA1 Message Date
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
ConnorSkees
31b0ea6b34 Link to structs and enums in docs 2020-01-09 20:56:09 -05:00
ConnorSkees
a74d22cce9 Document some internal enums and structs 2020-01-08 20:58:02 -05:00
ConnorSkees
a3ecfbbf3e Preserve toplevel multiline comments and add tests for them 2020-01-08 20:39:05 -05:00
ConnorSkees
7611dce47a rustfmt and empty styles css tests 2020-01-07 19:58:38 -05:00
ConnorSkees
fb877fa524 Preserve multiline comments in lexer 2020-01-07 19:58:13 -05:00
ConnorSkees
bc32a5a143 Print file in error 2020-01-07 19:24:37 -05:00