Add macro to luaify blocks instead of exprs

This commit is contained in:
2025-06-26 13:57:10 +10:00
parent 2a6015c19a
commit dfd57e0ad0
4 changed files with 43 additions and 2 deletions

View File

@@ -1,4 +1,7 @@
use crate::{generate::generate, transform::transform};
use crate::{
generate::{generate, generate_chunk},
transform::{transform, transform_chunk},
};
use proc_macro::TokenStream as TokenStream1;
use quote::ToTokens;
use syn::parse_macro_input;
@@ -16,3 +19,13 @@ pub fn luaify(input: TokenStream1) -> TokenStream1 {
}
.into()
}
#[proc_macro]
pub fn luaify_chunk(input: TokenStream1) -> TokenStream1 {
let mut block = parse_macro_input!(input);
match transform_chunk(&mut block).and_then(|()| generate_chunk(&block)) {
Ok(s) => s,
Err(err) => err.into_compile_error().into_token_stream(),
}
.into()
}