1 //! This crate provides a derive macro for `ConfigType`.
3 #![recursion_limit = "256"]
5 extern crate proc_macro;
13 use proc_macro::TokenStream;
14 use syn::parse_macro_input;
16 #[proc_macro_attribute]
17 pub fn config_type(_args: TokenStream, input: TokenStream) -> TokenStream {
18 let input = parse_macro_input!(input as syn::Item);
19 let output = config_type::define_config_type(&input);
21 #[cfg(feature = "debug-with-rustfmt")]
23 utils::debug_with_rustfmt(&output);
26 TokenStream::from(output)