From 2c5355555126cf0e5e6012fb22457638bce9bf4d Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Fri, 29 May 2026 16:49:35 +0800 Subject: Rename CompletionDispatcher to CMDCompletion and hide internal types --- mingling_macros/src/lib.rs | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'mingling_macros') diff --git a/mingling_macros/src/lib.rs b/mingling_macros/src/lib.rs index dd1afd4..b09eedf 100644 --- a/mingling_macros/src/lib.rs +++ b/mingling_macros/src/lib.rs @@ -1116,6 +1116,7 @@ pub fn program_comp_gen(input: TokenStream) -> TokenStream { #[cfg(feature = "async")] let fn_exec_comp = quote! { + #[doc(hidden)] #[::mingling::macros::chain(#name)] pub async fn __exec_completion(prev: CompletionContext) -> Next { let read_ctx = ::mingling::ShellContext::try_from(prev.inner); @@ -1131,6 +1132,7 @@ pub fn program_comp_gen(input: TokenStream) -> TokenStream { #[cfg(not(feature = "async"))] let fn_exec_comp = quote! { + #[doc(hidden)] #[::mingling::macros::chain(#name)] pub fn __exec_completion(prev: CompletionContext) -> Next { let read_ctx = ::mingling::ShellContext::try_from(prev.inner); @@ -1145,17 +1147,25 @@ pub fn program_comp_gen(input: TokenStream) -> TokenStream { }; let comp_dispatcher = quote! { - ::mingling::macros::dispatcher!(#name, "__comp", CompletionDispatcher => CompletionContext); - ::mingling::macros::pack!( - #name, - CompletionSuggest = (::mingling::ShellContext, ::mingling::Suggest) - ); + #[doc(hidden)] + mod __internal_completion_mod { + use super::#name; + ::mingling::macros::dispatcher!(#name, "__comp", CMDCompletion => CompletionContext); + ::mingling::macros::pack!( + #name, + CompletionSuggest = (::mingling::ShellContext, ::mingling::Suggest) + ); + } + use __internal_completion_mod::CompletionContext; + use __internal_completion_mod::CompletionSuggest; + pub use __internal_completion_mod::CMDCompletion; #fn_exec_comp ::mingling::macros::register_type!(CompletionContext); #[allow(unused)] + #[doc(hidden)] #[::mingling::macros::renderer(#name)] pub fn __render_completion(prev: CompletionSuggest) { let (ctx, suggest) = prev.inner; -- cgit