config_parser_derive/
lib.rs

1use proc_macro::TokenStream;
2use syn::{parse_macro_input, DeriveInput};
3
4mod parser;
5use parser::expand_config_parsers;
6
7#[proc_macro_derive(ConfigParse)]
8pub fn parsers(input: TokenStream) -> TokenStream {
9    let input = parse_macro_input!(input as DeriveInput);
10    expand_config_parsers(input)
11        .unwrap_or_else(syn::Error::into_compile_error)
12        .into()
13}