Skip to content

Commit 6e7d418

Browse files
committed
fix(cli-macros): parse args without proc-macro helper
1 parent 1e09f7f commit 6e7d418

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

crates/cli-macros/src/lib.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use proc_macro::TokenStream;
22
use quote::quote;
3+
use syn::parse::Parser;
34
use syn::{parse_macro_input, parse_quote, Attribute, ItemStruct, LitStr, Meta};
45

56
#[proc_macro_attribute]
@@ -63,9 +64,11 @@ pub fn prefixed_args(attr: TokenStream, item: TokenStream) -> TokenStream {
6364
}
6465

6566
fn parse_prefix(attr: TokenStream) -> String {
66-
let meta = parse_macro_input!(
67-
attr with syn::punctuated::Punctuated::<Meta, syn::Token![,]>::parse_terminated
68-
);
67+
let parser = syn::punctuated::Punctuated::<Meta, syn::Token![,]>::parse_terminated;
68+
let meta = match parser.parse(attr) {
69+
Ok(meta) => meta,
70+
Err(_) => return String::new(),
71+
};
6972
for nested in meta {
7073
if let Meta::NameValue(name_value) = nested {
7174
if !name_value.path.is_ident("prefix") {

0 commit comments

Comments
 (0)