wezterm_dynamic_derive/
lib.rs

1use proc_macro::TokenStream;
2use syn::{parse_macro_input, DeriveInput};
3
4mod attr;
5mod bound;
6mod fromdynamic;
7mod todynamic;
8
9#[proc_macro_derive(ToDynamic, attributes(dynamic))]
10pub fn derive_todynamic(input: TokenStream) -> TokenStream {
11    todynamic::derive(parse_macro_input!(input as DeriveInput))
12        .unwrap_or_else(|err| err.to_compile_error())
13        .into()
14}
15
16#[proc_macro_derive(FromDynamic, attributes(dynamic))]
17pub fn derive_fromdynamic(input: TokenStream) -> TokenStream {
18    fromdynamic::derive(parse_macro_input!(input as DeriveInput))
19        .unwrap_or_else(|err| err.to_compile_error())
20        .into()
21}