From 873e6a180e4132f99034329e2ea7e1f386fb16d0 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Sat, 18 Apr 2026 01:19:07 +0800 Subject: Simplify examples by removing AnyOutput usage --- examples/example-completion/src/main.rs | 6 +++--- examples/example-general-renderer/src/main.rs | 6 +++--- examples/example-picker/src/main.rs | 5 ++--- mingling/src/example_docs.rs | 17 ++++++++--------- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/examples/example-completion/src/main.rs b/examples/example-completion/src/main.rs index 3ba4e99..807be3f 100644 --- a/examples/example-completion/src/main.rs +++ b/examples/example-completion/src/main.rs @@ -25,7 +25,7 @@ //! 4. Execute `cargo install --path ./`, then run the corresponding completion script in your shell use mingling::{ - AnyOutput, EnumTag, Groupped, ShellContext, Suggest, + EnumTag, Groupped, ShellContext, Suggest, macros::{ chain, completion, dispatcher, gen_program, r_println, renderer, suggest, suggest_enum, }, @@ -99,13 +99,13 @@ impl PickableEnum for FruitType {} #[chain] async fn parse_fruit_info(prev: FruitEntry) -> NextProcess { - let picker = Picker::::from(prev.inner); + let picker = Picker::<()>::from(prev.inner); let (fruit_name, fruit_type) = picker.pick("--name").pick("--type").unpack_directly(); let info = FruitInfo { name: fruit_name, fruit_type, }; - AnyOutput::new(info).route_renderer() + info.to_render() } #[renderer] diff --git a/examples/example-general-renderer/src/main.rs b/examples/example-general-renderer/src/main.rs index c405c74..28028cf 100644 --- a/examples/example-general-renderer/src/main.rs +++ b/examples/example-general-renderer/src/main.rs @@ -33,7 +33,7 @@ //! ``` use mingling::{ - AnyOutput, Groupped, + Groupped, macros::{chain, dispatcher, gen_program, r_println, renderer}, marker::NextProcess, parser::Picker, @@ -63,11 +63,11 @@ struct Info { #[chain] async fn parse_render(prev: RenderCommandEntry) -> NextProcess { - let (name, age) = Picker::>::new(prev.inner) + let (name, age) = Picker::<()>::new(prev.inner) .pick::(()) .pick::(()) .unpack_directly(); - AnyOutput::new(Info { name, age }).route_renderer() + Info { name, age }.to_render() } // Implement default renderer for when general_renderer is not specified diff --git a/examples/example-picker/src/main.rs b/examples/example-picker/src/main.rs index 3abb5db..7619b98 100644 --- a/examples/example-picker/src/main.rs +++ b/examples/example-picker/src/main.rs @@ -18,7 +18,6 @@ //! ``` use mingling::{ - AnyOutput, macros::{chain, dispatcher, gen_program, pack, r_println, renderer}, marker::NextProcess, parser::Picker, @@ -45,12 +44,12 @@ async fn parse(prev: PickEntry) -> NextProcess { .pick_or("--age", 20) .after(|n: i32| n.clamp(0, 100)) // Then sequentially extract the remaining arguments - .pick_or_route((), AnyOutput::new(NoNameProvided::default())) + .pick_or_route((), NoNameProvided::default().to_render()) .unpack(); match picked { Ok(value) => ParsedPickInput::new(value).to_render(), - Err(e) => e.route_renderer(), + Err(e) => e, } } diff --git a/mingling/src/example_docs.rs b/mingling/src/example_docs.rs index dd3474c..8ad2bb2 100644 --- a/mingling/src/example_docs.rs +++ b/mingling/src/example_docs.rs @@ -108,7 +108,7 @@ pub mod example_basic {} /// main.rs /// ```ignore /// use mingling::{ -/// AnyOutput, EnumTag, Groupped, ShellContext, Suggest, +/// EnumTag, Groupped, ShellContext, Suggest, /// macros::{ /// chain, completion, dispatcher, gen_program, r_println, renderer, suggest, suggest_enum, /// }, @@ -182,13 +182,13 @@ pub mod example_basic {} /// /// #[chain] /// async fn parse_fruit_info(prev: FruitEntry) -> NextProcess { -/// let picker = Picker::::from(prev.inner); +/// let picker = Picker::<()>::from(prev.inner); /// let (fruit_name, fruit_type) = picker.pick("--name").pick("--type").unpack_directly(); /// let info = FruitInfo { /// name: fruit_name, /// fruit_type, /// }; -/// AnyOutput::new(info).route_renderer() +/// info.to_render() /// } /// /// #[renderer] @@ -265,7 +265,7 @@ pub mod example_completion {} /// main.rs /// ```ignore /// use mingling::{ -/// AnyOutput, Groupped, +/// Groupped, /// macros::{chain, dispatcher, gen_program, r_println, renderer}, /// marker::NextProcess, /// parser::Picker, @@ -295,11 +295,11 @@ pub mod example_completion {} /// /// #[chain] /// async fn parse_render(prev: RenderCommandEntry) -> NextProcess { -/// let (name, age) = Picker::>::new(prev.inner) +/// let (name, age) = Picker::<()>::new(prev.inner) /// .pick::(()) /// .pick::(()) /// .unpack_directly(); -/// AnyOutput::new(Info { name, age }).route_renderer() +/// Info { name, age }.to_render() /// } /// /// // Implement default renderer for when general_renderer is not specified @@ -345,7 +345,6 @@ pub mod example_general_renderer {} /// main.rs /// ```ignore /// use mingling::{ -/// AnyOutput, /// macros::{chain, dispatcher, gen_program, pack, r_println, renderer}, /// marker::NextProcess, /// parser::Picker, @@ -372,12 +371,12 @@ pub mod example_general_renderer {} /// .pick_or("--age", 20) /// .after(|n: i32| n.clamp(0, 100)) /// // Then sequentially extract the remaining arguments -/// .pick_or_route((), AnyOutput::new(NoNameProvided::default())) +/// .pick_or_route((), NoNameProvided::default().to_render()) /// .unpack(); /// /// match picked { /// Ok(value) => ParsedPickInput::new(value).to_render(), -/// Err(e) => e.route_renderer(), +/// Err(e) => e, /// } /// } /// -- cgit