aboutsummaryrefslogtreecommitdiff
path: root/examples/example-structural-renderer
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-08-17 04:05:41 +0800
committer魏曹先生 <1992414357@qq.com>2026-08-17 04:05:41 +0800
commitaa251efb87b561f62266628f06ad341253fbbdc5 (patch)
tree7d2cc2f34f3e4a7282d8d6f0ec0f5ae4bfc87002 /examples/example-structural-renderer
parentc23c590330af83afb6e146bcd9b0a274b3689d22 (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.lock25
-rw-r--r--examples/example-structural-renderer/Cargo.toml2
-rw-r--r--examples/example-structural-renderer/src/main.rs12
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()
}