herring_derive/
lib.rs

1#![forbid(unsafe_code)]
2
3mod debug;
4mod generate;
5mod parse;
6
7use generate::generate_impl;
8
9#[proc_macro_derive(Herring, attributes(herring, regex, token))]
10pub fn derive_herring(tokens: proc_macro::TokenStream) -> proc_macro::TokenStream {
11    match generate_impl(tokens.into()) {
12        Ok(expanded) => expanded,
13        Err(err) => err.into_compile_error(),
14    }
15    .into()
16}