confique_macro/lib.rs
1use proc_macro::TokenStream as TokenStream1;
2
3
4mod gen;
5mod ir;
6mod parse;
7mod util;
8
9
10#[proc_macro_derive(Config, attributes(config))]
11pub fn config(input: TokenStream1) -> TokenStream1 {
12 syn::parse2::<syn::DeriveInput>(input.into())
13 .and_then(ir::Input::from_ast)
14 .map(gen::gen)
15 .unwrap_or_else(|e| e.to_compile_error())
16 .into()
17}