1
2
3
4
5
6
7
8
9
10
11
12
13
use proc_macro::TokenStream;

mod probe;

#[proc_macro_derive(EguiProbe, attributes(egui_probe))]
pub fn probe_records(input: TokenStream) -> TokenStream {
    let input = syn::parse_macro_input!(input as syn::DeriveInput);

    match probe::derive(input) {
        Ok(tokens) => tokens.into(),
        Err(err) => err.to_compile_error().into(),
    }
}