diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-08-17 04:05:41 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-08-17 04:05:41 +0800 |
| commit | aa251efb87b561f62266628f06ad341253fbbdc5 (patch) | |
| tree | 7d2cc2f34f3e4a7282d8d6f0ec0f5ae4bfc87002 /examples/example-structural-renderer | |
| parent | c23c590330af83afb6e146bcd9b0a274b3689d22 (diff) | |
refactor!: remove legacy parser feature and migrate to picker
The legacy `parser` feature and its module tree (`mingling::parser`,
`Argument`, `Picker`, `Pickable`, etc.) have been fully removed and
replaced by the `picker` feature powered by `arg-picker`.
BREAKING CHANGE: Remove `parser` feature and use `picker` instead.
Migration guide: Replace `features = ["parser"]` with
`features = ["picker"]` and update API usage per the provided table.
Diffstat (limited to 'examples/example-structural-renderer')
| -rw-r--r-- | examples/example-structural-renderer/Cargo.lock | 25 | ||||
| -rw-r--r-- | examples/example-structural-renderer/Cargo.toml | 2 | ||||
| -rw-r--r-- | examples/example-structural-renderer/src/main.rs | 12 |
3 files changed, 25 insertions, 14 deletions
diff --git a/examples/example-structural-renderer/Cargo.lock b/examples/example-structural-renderer/Cargo.lock index ac4cbba..cf2cfe3 100644 --- a/examples/example-structural-renderer/Cargo.lock +++ b/examples/example-structural-renderer/Cargo.lock @@ -3,6 +3,23 @@ version = 4 [[package]] +name = "arg-picker" +version = "0.2.0" +dependencies = [ + "arg-picker-macros", + "just_fmt", +] + +[[package]] +name = "arg-picker-macros" +version = "0.2.0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] name = "equivalent" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -66,10 +83,10 @@ dependencies = [ name = "mingling" version = "0.5.0" dependencies = [ + "arg-picker", "mingling_core", "mingling_macros", "serde", - "size", ] [[package]] @@ -183,12 +200,6 @@ dependencies = [ ] [[package]] -name = "size" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b6709c7b6754dca1311b3c73e79fcce40dd414c782c66d88e8823030093b02b" - -[[package]] name = "syn" version = "2.0.118" source = "registry+https://github.com/rust-lang/crates.io-index" diff --git a/examples/example-structural-renderer/Cargo.toml b/examples/example-structural-renderer/Cargo.toml index e29e9c3..2851303 100644 --- a/examples/example-structural-renderer/Cargo.toml +++ b/examples/example-structural-renderer/Cargo.toml @@ -11,7 +11,7 @@ path = "../../mingling" features = [ "structural_renderer", "yaml_serde_fmt", - "parser", + "picker", ] [workspace] diff --git a/examples/example-structural-renderer/src/main.rs b/examples/example-structural-renderer/src/main.rs index eca87fc..a1bddbd 100644 --- a/examples/example-structural-renderer/src/main.rs +++ b/examples/example-structural-renderer/src/main.rs @@ -17,8 +17,8 @@ //! member_age: 22 //! ``` -use mingling::prelude::*; -use mingling::{parser::Picker, setup::StructuralRendererSetup, Grouped, StructuralData}; +use mingling::setup::picker::StructuralRendererSetup; +use mingling::{Grouped, StructuralData, prelude::*}; use serde::Serialize; use std::io::Write; @@ -55,10 +55,10 @@ struct Info { #[chain] fn parse_render(prev: EntryRender) -> Next { - let (name, age) = Picker::new(prev.inner) - .pick::<String>(()) - .pick::<i32>(()) - .unpack(); + let (name, age) = prev + .pick_or_default(&arg![String]) + .pick_or_default(&arg![i32]) + .unwrap(); Info { name, age }.to_render() } |
