1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

//! `Splitter` derive macro

mod info;
mod str_info;

use proc_macro::TokenStream;
use syn::{parse_macro_input, DeriveInput};

/// derive macro for `Info` trait
#[proc_macro_derive(Info, attributes(splitter))]
pub fn info(input: TokenStream) -> TokenStream {
    info::parse(parse_macro_input!(input as DeriveInput))
}

/// derive macro for `StrInfo` trait
#[proc_macro_derive(StrInfo, attributes(splitter))]
pub fn str_info(input: TokenStream) -> TokenStream {
    str_info::parse(parse_macro_input!(input as DeriveInput))
}