playdate_rs_macros/
lib.rs

1use proc_macro::TokenStream;
2use quote::quote;
3
4#[proc_macro_attribute]
5pub fn app(_attr: TokenStream, item: TokenStream) -> TokenStream {
6    let input = syn::parse_macro_input!(item as syn::ItemStruct);
7    let name = &input.ident;
8    let result = quote! {
9        #input
10        ::playdate_rs::register_playdate_app!(#name);
11    };
12    result.into()
13}