csskit_proc_macro/
lib.rs

1#![deny(warnings)]
2use proc_macro::TokenStream;
3use syn::{DeriveInput, parse_macro_input};
4
5mod generate;
6mod syntax;
7mod type_renames;
8
9#[cfg(test)]
10mod test;
11
12use css_value_definition_parser::{Def, StrWrapped};
13
14#[proc_macro_attribute]
15pub fn syntax(args: TokenStream, input: TokenStream) -> TokenStream {
16	let args = parse_macro_input!(args as StrWrapped<Def>);
17	let ast = parse_macro_input!(input as DeriveInput);
18	syntax::generate(args.0.optimize(), ast).into()
19}
20
21#[proc_macro_attribute]
22pub fn visit(_args: TokenStream, input: TokenStream) -> TokenStream {
23	input
24}