lfml_macros/
lib.rs

1extern crate proc_macro;
2
3mod html;
4mod spread;
5
6#[proc_macro_derive(Spread, attributes(prefix, suffix, rename, escape_value, tags))]
7pub fn spread(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
8    let input = syn::parse_macro_input!(input as syn::DeriveInput);
9
10    spread::generate_spread_impl(&input)
11        .unwrap_or_else(syn::Error::into_compile_error)
12        .into()
13}
14
15#[proc_macro]
16pub fn html(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
17    html::generate_markup_expr(input.into())
18        .unwrap_or_else(syn::Error::into_compile_error)
19        .into()
20}