aboutsummaryrefslogtreecommitdiff
path: root/mingling_macros/src/help.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-04-28 21:35:58 +0800
committer魏曹先生 <1992414357@qq.com>2026-04-28 21:35:58 +0800
commit94ac5ec454ef9fa687857b8d4323d0269bddb3c2 (patch)
tree360ce60c2717a79acf80dd7f91d257ff3be0220a /mingling_macros/src/help.rs
parent347a13f33332fdcbd680a5bd0df12cd1182f8cdf (diff)
se internal ugly naming convention for generated structs
Diffstat (limited to 'mingling_macros/src/help.rs')
-rw-r--r--mingling_macros/src/help.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/mingling_macros/src/help.rs b/mingling_macros/src/help.rs
index c0d8b99..7943270 100644
--- a/mingling_macros/src/help.rs
+++ b/mingling_macros/src/help.rs
@@ -106,9 +106,12 @@ pub fn help_attr(item: TokenStream) -> TokenStream {
// Get function name
let fn_name = &input_fn.sig.ident;
- // Generate struct name from function name using pascal_case
- let pascal_case_name = just_fmt::pascal_case!(fn_name.to_string());
- let struct_name = Ident::new(&pascal_case_name, fn_name.span());
+ // Generate internal name using snake_case for the chain macro
+ let internal_name = format!(
+ "__internal_help_{}",
+ just_fmt::snake_case!(fn_name.to_string())
+ );
+ let struct_name = Ident::new(&internal_name, fn_name.span());
// Register the help request mapping
let help_entry = build_help_entry(&struct_name, &entry_type);
@@ -119,6 +122,7 @@ pub fn help_attr(item: TokenStream) -> TokenStream {
let expanded = quote! {
#(#fn_attrs)*
#[doc(hidden)]
+ #[allow(non_camel_case_types)]
#vis struct #struct_name;
impl ::mingling::HelpRequest for #struct_name {