commonlibsse_ng_proc_macro_common\skse_plugin_main/
mod.rs1pub(crate) mod attr_args;
2mod logger;
3pub(crate) mod plugin_entry;
4
5use proc_macro2::TokenStream;
6
7pub fn gen_skse_plugin_main(attrs: TokenStream, item_fn: syn::ItemFn) -> TokenStream {
8 let args = {
9 let attr_args = match darling::ast::NestedMeta::parse_meta_list(attrs) {
10 Ok(v) => v,
11 Err(e) => {
12 return darling::Error::from(e).write_errors();
13 }
14 };
15
16 match <attr_args::MacroArgs as darling::FromMeta>::from_list(&attr_args) {
17 Ok(v) => v,
18 Err(e) => {
19 return e.write_errors();
20 }
21 }
22 };
23
24 plugin_entry::generate_plugin_code(args, item_fn)
25}