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}