Commit graph

8 commits

Author SHA1 Message Date
Callum Law
099c3fa590 Meta: Handle juxtaposition in CSS value parsing code generation 2026-05-13 11:26:20 +01:00
Callum Law
30e58a48c6 Meta: Handle optionals in CSS value parsing code generation 2026-05-13 11:26:20 +01:00
Callum Law
6361dcaae5 Meta: Handle groups in CSS value parsing code generation
We don't yet support required groups so for the moment these just fall
back to generating the parsing code of their child
2026-05-13 11:26:20 +01:00
Callum Law
a9d2b1dde6 Meta: Read dimensions from Units.json in CSS grammar parser
Avoids us having to maintain a separate hardcoded list.

This does mean we don't support parsing of `decibel` but it's not used
anywhere yet and will be supported automatically when added to
Units.json
2026-05-13 11:00:07 +01:00
Callum Law
0d75d66f2e Meta: Handle bracketed range notations in CSS value grammar 2026-04-29 11:42:57 +01:00
Callum Law
521beb5a96 Meta: Implement code generation for CSS keyword values 2026-04-29 11:42:57 +01:00
Callum Law
dd9f0b8838 Meta: Implement code generation for CSS custom ident value blacklists 2026-04-29 11:42:57 +01:00
Callum Law
09418e8c77 Meta: Implement CSS value type parsing code generation
To do this we parse the grammar supplied in `ValueTypes.json` and
generate the appropriate parsing function in `CSS::Parser::Parser`

Only a small subset of the CSS grammar (i.e. types `<foo>` and
alternatives `<foo> | <bar>`) is implemented so far, it will be
expanded in later commits.
2026-04-29 11:42:57 +01:00