plux_codegen/
lib.rs

1mod function;
2
3use proc_macro::TokenStream;
4use syn::{parse_macro_input, ItemFn};
5
6#[proc_macro_attribute]
7pub fn function(attr: TokenStream, input: TokenStream) -> TokenStream {
8    let ast = parse_macro_input!(input as ItemFn);
9
10    function::derive(ast, attr.into())
11        .unwrap_or_else(|e| e.to_compile_error())
12        .into()
13}