aboutsummaryrefslogtreecommitdiff
path: root/mingling_macros/src/dispatcher.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-06-25 13:29:08 +0800
committer魏曹先生 <1992414357@qq.com>2026-06-25 13:29:08 +0800
commit757b1e412c8617cacd8ba0e428554e7f44e9d0e8 (patch)
tree976691ec144d3e3adbb88b337a4eeac63de76197 /mingling_macros/src/dispatcher.rs
parent85e5792e2d0b0c75eb4044c0450d60c07370afa4 (diff)
fix(dispatch_tree): use proper snake_case for dispatcher static names
Fix the static name generation for dispatch tree nodes to use a correct snake_case conversion instead of a simple `.` to `_` replacement. Also correct the `__comp` completion dispatcher name from triple underscore to double underscore, resolving a mismatch between `register_dispatcher!` and `program_comp_gen`
Diffstat (limited to 'mingling_macros/src/dispatcher.rs')
-rw-r--r--mingling_macros/src/dispatcher.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/mingling_macros/src/dispatcher.rs b/mingling_macros/src/dispatcher.rs
index 51dce95..36bdf31 100644
--- a/mingling_macros/src/dispatcher.rs
+++ b/mingling_macros/src/dispatcher.rs
@@ -1,3 +1,5 @@
+#[cfg(feature = "dispatch_tree")]
+use just_fmt::snake_case;
use proc_macro::TokenStream;
use proc_macro2::TokenStream as TokenStream2;
use quote::quote;
@@ -215,7 +217,7 @@ pub fn register_dispatcher(input: TokenStream) -> TokenStream {
} = syn::parse_macro_input!(input as RegisterDispatcherInput);
let node_name_str = node_name.value();
- let static_name = format!("__internal_dispatcher_{}", node_name_str.replace('.', "_"));
+ let static_name = format!("__internal_dispatcher_{}", snake_case!(node_name_str.clone()));
let static_ident = Ident::new(&static_name, proc_macro2::Span::call_site());
// Register node info in the global collection at compile time