intuicio_derive/
lib.rs

1mod enum_type;
2mod function;
3mod methods;
4mod struct_type;
5
6use proc_macro::TokenStream;
7
8#[proc_macro_attribute]
9pub fn intuicio_function(attributes: TokenStream, input: TokenStream) -> TokenStream {
10    crate::function::intuicio_function(attributes, input)
11}
12
13#[proc_macro_derive(IntuicioStruct, attributes(intuicio))]
14pub fn intuicio_struct(input: TokenStream) -> TokenStream {
15    crate::struct_type::intuicio_struct(input)
16}
17
18#[proc_macro_derive(IntuicioEnum, attributes(intuicio))]
19pub fn intuicio_enum(input: TokenStream) -> TokenStream {
20    crate::enum_type::intuicio_enum(input)
21}
22
23#[proc_macro_attribute]
24pub fn intuicio_methods(attributes: TokenStream, input: TokenStream) -> TokenStream {
25    crate::methods::intuicio_methods(attributes, input)
26}
27
28#[proc_macro_attribute]
29pub fn intuicio_method(_: TokenStream, input: TokenStream) -> TokenStream {
30    input
31}