alchemist_macros/
lib.rs

1mod utils;
2mod derive_encode;
3mod derive_encompass;
4mod derive_qualify;
5mod derive_manifest;
6mod manifestable;
7mod manifest_as;
8
9use proc_macro::TokenStream;
10use proc_macro2::TokenStream as TokenStream2;
11
12#[proc_macro_derive(Encode, attributes(core_path, encode))]
13pub fn derive_encode(input: TokenStream) -> TokenStream { derive_encode::derive_encode(input) }
14
15#[proc_macro_derive(Encompass, attributes(core_path))]
16pub fn derive_encompass(input: TokenStream) -> TokenStream { derive_encompass::derive_encompass(input) }
17
18#[proc_macro_derive(Qualify, attributes(core_path))]
19pub fn derive_qualify(input: TokenStream) -> TokenStream { derive_qualify::derive_qualify(input) }
20
21#[proc_macro_derive(Manifest, attributes(core_path))]
22pub fn derive_manifest(input: TokenStream) -> TokenStream { derive_manifest::derive_manifest(input) }
23
24#[proc_macro_attribute]
25pub fn manifestable(attr: TokenStream, input: TokenStream) -> TokenStream { manifestable::manifestable(attr, input) }
26
27#[proc_macro_attribute]
28pub fn manifest_as(attr: TokenStream, input: TokenStream) -> TokenStream { manifest_as::manifest_as(attr, input) }
29
30#[proc_macro_attribute]
31pub fn core_path(_attr: TokenStream, input: TokenStream) -> TokenStream { input }