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}