aboutsummaryrefslogtreecommitdiff
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
parent347a13f33332fdcbd680a5bd0df12cd1182f8cdf (diff)
se internal ugly naming convention for generated structs
-rw-r--r--mingling_macros/src/chain.rs11
-rw-r--r--mingling_macros/src/completion.rs10
-rw-r--r--mingling_macros/src/help.rs10
-rw-r--r--mingling_macros/src/renderer.rs8
4 files changed, 28 insertions, 11 deletions
diff --git a/mingling_macros/src/chain.rs b/mingling_macros/src/chain.rs
index daa6b1c..6cc249f 100644
--- a/mingling_macros/src/chain.rs
+++ b/mingling_macros/src/chain.rs
@@ -100,9 +100,12 @@ pub fn chain_attr(attr: TokenStream, 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 struct name from function name using snake_case
+ let internal_name = format!(
+ "__internal_chain_{}",
+ just_fmt::snake_case!(fn_name.to_string())
+ );
+ let struct_name = Ident::new(&internal_name, fn_name.span());
// Determine the program type for the return type
let program_type = if use_crate_prefix {
@@ -163,6 +166,7 @@ pub fn chain_attr(attr: TokenStream, item: TokenStream) -> TokenStream {
quote! {
#(#fn_attrs)*
#[doc(hidden)]
+ #[allow(non_camel_case_types)]
#vis struct #struct_name;
::mingling::macros::register_chain!(#previous_type, #struct_name);
@@ -179,6 +183,7 @@ pub fn chain_attr(attr: TokenStream, item: TokenStream) -> TokenStream {
} else {
quote! {
#(#fn_attrs)*
+ #[allow(non_camel_case_types)]
#vis struct #struct_name;
::mingling::macros::register_chain!(#previous_type, #struct_name);
diff --git a/mingling_macros/src/completion.rs b/mingling_macros/src/completion.rs
index 51e1cea..fcb9784 100644
--- a/mingling_macros/src/completion.rs
+++ b/mingling_macros/src/completion.rs
@@ -63,14 +63,18 @@ pub fn completion_attr(attr: TokenStream, item: TokenStream) -> TokenStream {
// Get function name
let fn_name = &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 from function name using snake_case
+ let internal_name = format!(
+ "__internal_completion_{}",
+ just_fmt::snake_case!(fn_name.to_string())
+ );
+ let struct_name = Ident::new(&internal_name, fn_name.span());
// Generate the struct and implementation
let expanded = quote! {
#(#fn_attrs)*
#[doc(hidden)]
+ #[allow(non_camel_case_types)]
#vis struct #struct_name;
impl ::mingling::Completion for #struct_name {
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 {
diff --git a/mingling_macros/src/renderer.rs b/mingling_macros/src/renderer.rs
index 38d7930..7ab1ac1 100644
--- a/mingling_macros/src/renderer.rs
+++ b/mingling_macros/src/renderer.rs
@@ -97,14 +97,18 @@ pub fn renderer_attr(item: TokenStream) -> TokenStream {
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 = syn::Ident::new(&pascal_case_name, fn_name.span());
+ let internal_name = format!(
+ "__internal_renderer_{}",
+ just_fmt::snake_case!(fn_name.to_string())
+ );
+ let struct_name = syn::Ident::new(&internal_name, fn_name.span());
// Generate the struct and implementation
// We need to create a wrapper function that adds the r parameter
let expanded = quote! {
#(#fn_attrs)*
#[doc(hidden)]
+ #[allow(non_camel_case_types)]
#vis struct #struct_name;
::mingling::macros::register_renderer!(#previous_type, #struct_name);