57 Commits

Author SHA1 Message Date
ConnorSkees
f88b4af564 identifiers must start with alphabetic character 2020-03-21 13:02:24 -04:00
ConnorSkees
22ab800e4c remove todo! from other color functions 2020-03-21 00:10:15 -04:00
ConnorSkees
e746bc7bda Allow utf-8 characters in idents 2020-03-20 23:53:26 -04:00
ConnorSkees
061694bd63 Initial implementation of !global (some issues remain) 2020-03-17 20:13:53 -04:00
ConnorSkees
3181d58441 refactor and cleaning 2020-03-01 14:53:52 -05:00
ConnorSkees
624cf06f69 clippy 2020-02-29 16:13:57 -05:00
ConnorSkees
bc2c927aa7 Properly emit @charset 2020-02-28 18:27:32 -05:00
ConnorSkees
9877f4a0e0 Attribute selectors are parsed after lexing 2020-02-24 15:07:18 -05:00
ConnorSkees
4c3f5e24ee Handle utf8 input (a bit) 2020-02-23 07:52:14 -05:00
ConnorSkees
4ee9cc72a6 Preserve newlines after , in selectors 2020-02-22 17:26:30 -05:00
ConnorSkees
64fbc96d9d Form feed is whitespace 2020-02-17 09:09:31 -05:00
ConnorSkees
3512873363 Properly print negative decimals 2020-02-16 15:30:31 -05:00
ConnorSkees
c95ecc0825 Fix crash encountering -- 2020-02-14 13:27:08 -05:00
ConnorSkees
589ebce452 Allow for unknown at-rules 2020-02-09 19:44:45 -05:00
ConnorSkees
0ec2c46744 rustfmt 2020-02-09 18:28:24 -05:00
ConnorSkees
b8d8824db9 Lex and parse negative numbers 2020-02-09 15:08:33 -05:00
ConnorSkees
6c8dd6de93 rustfmt 2020-02-08 20:20:03 -05:00
ConnorSkees
c75e5cc553 Properly parse floating point numbers and rgba() 2020-02-08 20:07:20 -05:00
ConnorSkees
55ca402644 rustfmt 2020-02-08 16:08:54 -05:00
ConnorSkees
29917d95d4 Handle == and != 2020-02-08 15:53:57 -05:00
ConnorSkees
74a81060ba Remove Color tokenkind 2020-02-08 13:16:53 -05:00
ConnorSkees
c5bc6062a0 Implement basic color parsing 2020-02-08 08:48:31 -05:00
ConnorSkees
76b2685894 Lex and parse named colors 2020-02-07 00:10:43 -05:00
ConnorSkees
89060a0e83 Implement ident substraction 2020-02-02 14:46:58 -05:00
ConnorSkees
3b3de2d83b Cleanups to make compiler happy 2020-02-01 19:39:20 -05:00
ConnorSkees
d464124ae0 Handle !default 2020-01-29 21:02:32 -05:00
ConnorSkees
ae708091a6 Allow numbers in variable names 2020-01-27 17:21:18 -05:00
ConnorSkees
15edae53d6 Lex attributes in a much more robust way :) 2020-01-26 19:07:24 -05:00
ConnorSkees
a8ebc91702 Normalize newlines in comments 2020-01-26 16:50:08 -05:00
ConnorSkees
357647b19c rustfmt 2020-01-26 15:26:45 -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
53988b377c Refactor AtRuleKind into separate file 2020-01-25 12:43:07 -05:00
ConnorSkees
dc82d999e9 Lex % as symbol rather than unit 2020-01-22 00:40:32 -05:00
ConnorSkees
d85f9d32f6 Make @import tests work 2020-01-20 16:00:37 -05:00
ConnorSkees
25b4bebdf8 Make everything private except StyleSheet 2020-01-20 13:15:47 -05:00
ConnorSkees
0824a019c2 Properly lex ?, |, \f, and = 2020-01-20 11:39:05 -05:00
ConnorSkees
33244c34d7 Rename AtRule enum to AtRuleKind 2020-01-20 08:36:06 -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
2439579d20 Initial implementation of @include and mixin eval 2020-01-12 19:56:58 -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
c73be13024 Handle pseudo selectors with arguments 2020-01-11 19:16:59 -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
a3ecfbbf3e Preserve toplevel multiline comments and add tests for them 2020-01-08 20:39:05 -05:00
ConnorSkees
fb877fa524 Preserve multiline comments in lexer 2020-01-07 19:58:13 -05:00
ConnorSkees
8320c3de77 Implement basic at rule parsing and @error 2020-01-07 18:37:28 -05:00
ConnorSkees
bcfd809c92 Fix bug where the entire iterator would be eaten by a comment 2020-01-06 18:45:41 -05:00