diff options
Diffstat (limited to '')
-rw-r--r-- | src/tools/rustfmt/config_proc_macro/src/config_type.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/tools/rustfmt/config_proc_macro/src/config_type.rs b/src/tools/rustfmt/config_proc_macro/src/config_type.rs new file mode 100644 index 000000000..93a78b846 --- /dev/null +++ b/src/tools/rustfmt/config_proc_macro/src/config_type.rs @@ -0,0 +1,15 @@ +use proc_macro2::TokenStream; + +use crate::item_enum::define_config_type_on_enum; +use crate::item_struct::define_config_type_on_struct; + +/// Defines `config_type` on enum or struct. +// FIXME: Implement this on struct. +pub fn define_config_type(input: &syn::Item) -> TokenStream { + match input { + syn::Item::Struct(st) => define_config_type_on_struct(st), + syn::Item::Enum(en) => define_config_type_on_enum(en), + _ => panic!("Expected enum or struct"), + } + .unwrap() +} |