1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
extern crate proc_macro; mod func; mod options; use func::Func; use proc_macro::TokenStream; #[proc_macro] pub fn func(input: TokenStream) -> TokenStream { Func::new(input.into()).process().into() } #[proc_macro_derive(CommandOptions)] pub fn command_opts(input: TokenStream) -> TokenStream { options::parse(input) }