diff options
| -rw-r--r-- | mingling_macros/src/chain.rs | 11 | ||||
| -rw-r--r-- | mingling_macros/src/completion.rs | 10 | ||||
| -rw-r--r-- | mingling_macros/src/help.rs | 10 | ||||
| -rw-r--r-- | mingling_macros/src/renderer.rs | 8 |
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); |
