1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
extern crate proc_macro;
extern crate syn;

mod modifier;

use crate::proc_macro::TokenStream;
use modifier::impl_modifier_derive;

#[proc_macro_derive(Modifier)]
pub fn modifier_derive(input: TokenStream) -> TokenStream {
    let ast = syn::parse(input).expect("Failed to parse input for #[derive(Modifier)]");
    impl_modifier_derive(&ast)
}