36 Commits

Author SHA1 Message Date
ConnorSkees
9c97c734ef Strip whitespace inside pseudo paren selectors 2020-02-02 15:21:47 -05:00
ConnorSkees
ee44982198 Handle pseudo elements like ::before 2020-02-02 15:06:46 -05:00
ConnorSkees
3f929066c4 Rename eat_interpolation() to parse_interpolation() 2020-02-01 19:24:37 -05:00
ConnorSkees
d464124ae0 Handle !default 2020-01-29 21:02:32 -05:00
ConnorSkees
849cddeea4 Parse (but do not remove) placeholder selectors 2020-01-29 20:02:02 -05:00
ConnorSkees
889488121a Remove extra commas in selectors 2020-01-26 19:16:26 -05:00
ConnorSkees
15edae53d6 Lex attributes in a much more robust way :) 2020-01-26 19:07:24 -05:00
ConnorSkees
c7efbc7e05 Properly interpolate values coming from variables 2020-01-26 18:43:07 -05:00
ConnorSkees
934f9d860d Handle comments between selectors 2020-01-26 16:55:06 -05:00
ConnorSkees
63dd66f0f7 Handle arbitrary attribute modifiers (kinda) 2020-01-26 12:23:21 -05:00
ConnorSkees
65030eb7ea Handle uppercase I in attribute selectors 2020-01-26 11:47:00 -05:00
ConnorSkees
3e45f05d97 Handle whitespace with interpolated super selector 2020-01-26 11:17:48 -05:00
ConnorSkees
4e6ae91825 Handle interpolated super selectors 2020-01-26 11:07:57 -05:00
ConnorSkees
8acb535347 Remove TokenKind::Unit variant 2020-01-22 00:54:03 -05:00
ConnorSkees
25b4bebdf8 Make everything private except StyleSheet 2020-01-20 13:15:47 -05:00
ConnorSkees
b25fe63e8e Further reduce usage of .clone() 2020-01-18 21:05:26 -05:00
ConnorSkees
720b1e9f22 Reduce usage of .clone() 2020-01-18 20:24:28 -05:00
ConnorSkees
2f1113ead8 Tidy clippy allows 2020-01-18 19:44:34 -05:00
ConnorSkees
0485256115 Handle basic imports 2020-01-18 15:47:51 -05:00
ConnorSkees
afef31b808 Normalize units in selector 2020-01-18 10:27:02 -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
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
107a7d996e Refactor how scope is handled and basic mixin parsing 2020-01-12 17:44:49 -05:00
ConnorSkees
bd4b38550c Handle interpolation inside selectors and styles 2020-01-12 10:54:46 -05:00
ConnorSkees
c73be13024 Handle pseudo selectors with arguments 2020-01-11 19:16:59 -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
46a6fd90f6 rustfmt 2020-01-06 19:23:52 -05:00
ConnorSkees
d2f9fc8e78 Reformat imports 2020-01-06 17:06:37 -05:00
ConnorSkees
3f063709c5 rustfmt 2020-01-06 00:41:15 -05:00
ConnorSkees
362a9b4ca2 Move around clones on selectors 2020-01-05 20:55:58 -05:00
ConnorSkees
05d67e404d implement zip method to combine super selectors 2020-01-05 12:25:03 -05:00
ConnorSkees
f4278a29b7 Implement lexing, basic parsing, and pretty printing 2020-01-04 22:55:04 -05:00