From 57c53affe3542cb6bd4e79ee4c18f20a1bd76b2d Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Mon, 17 Aug 2026 05:49:19 +0800 Subject: refactor!: replace pack! macros with derive-based pipeline types Remove the `pack!`, `pack_err!`, `pack_structural!`, and `pack_err_structural!` macros, replacing all pipeline type definitions with `#[derive(Grouped)]` and `#[derive(Grouped, Wrap)]` attributes. This changes the generated struct shape from named-field structs with an `inner` field to tuple structs accessed via `.0`, and removes the auto-generated `name` and `info` fields from error types. --- mingling_macros/src/func/program_comp_gen.rs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'mingling_macros/src/func/program_comp_gen.rs') diff --git a/mingling_macros/src/func/program_comp_gen.rs b/mingling_macros/src/func/program_comp_gen.rs index ed04379..cdd2597 100644 --- a/mingling_macros/src/func/program_comp_gen.rs +++ b/mingling_macros/src/func/program_comp_gen.rs @@ -11,11 +11,11 @@ pub(crate) fn program_comp_gen_impl(_input: TokenStream) -> TokenStream { pub async fn __exec_completion(prev: CompletionContext) -> Next { use ::mingling::Grouped; - let read_ctx = ::mingling::ShellContext::try_from(prev.inner); + let read_ctx = ::mingling::ShellContext::try_from(prev.0); match read_ctx { Ok(ctx) => { let suggest = ::mingling::CompletionHelper::exec_completion::(&ctx); - ::mingling::Routable::::to_render(CompletionSuggest::new((ctx, suggest))) + ::mingling::Routable::::to_render(CompletionSuggest((ctx, suggest))) } Err(_) => std::process::exit(1), } @@ -29,11 +29,11 @@ pub(crate) fn program_comp_gen_impl(_input: TokenStream) -> TokenStream { pub fn __exec_completion(prev: CompletionContext) -> Next { use ::mingling::Grouped; - let read_ctx = ::mingling::ShellContext::try_from(prev.inner); + let read_ctx = ::mingling::ShellContext::try_from(prev.0); match read_ctx { Ok(ctx) => { let suggest = ::mingling::CompletionHelper::exec_completion::(&ctx); - ::mingling::Routable::::to_render(CompletionSuggest::new((ctx, suggest))) + ::mingling::Routable::::to_render(CompletionSuggest((ctx, suggest))) } Err(_) => std::process::exit(1), } @@ -50,9 +50,8 @@ pub(crate) fn program_comp_gen_impl(_input: TokenStream) -> TokenStream { mod __internal_completion_mod { use ::mingling::Grouped; ::mingling::macros::dispatcher!("__comp", CompletionContext); - ::mingling::macros::pack!( - CompletionSuggest = (::mingling::ShellContext, ::mingling::Suggest) - ); + #[derive(::mingling::Grouped, ::mingling::Wrap)] + pub struct CompletionSuggest(pub (::mingling::ShellContext, ::mingling::Suggest)); } #internal_dispatcher_comp use __internal_completion_mod::CompletionContext; @@ -67,7 +66,7 @@ pub(crate) fn program_comp_gen_impl(_input: TokenStream) -> TokenStream { #[::mingling::macros::renderer] pub fn __render_completion(prev: CompletionSuggest) -> ::mingling::RenderResult { let result = ::mingling::RenderResult::default(); - let (ctx, suggest) = prev.inner; + let (ctx, suggest) = prev.0; ::mingling::CompletionHelper::render_suggest::(&ctx, suggest); result } -- cgit