aboutsummaryrefslogtreecommitdiff
path: root/examples/example-picker
diff options
context:
space:
mode:
Diffstat (limited to 'examples/example-picker')
-rw-r--r--examples/example-picker/Cargo.lock111
-rw-r--r--examples/example-picker/Cargo.toml8
-rw-r--r--examples/example-picker/src/main.rs60
3 files changed, 0 insertions, 179 deletions
diff --git a/examples/example-picker/Cargo.lock b/examples/example-picker/Cargo.lock
deleted file mode 100644
index eada902..0000000
--- a/examples/example-picker/Cargo.lock
+++ /dev/null
@@ -1,111 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 4
-
-[[package]]
-name = "example-picker"
-version = "0.0.1"
-dependencies = [
- "mingling",
- "tokio",
-]
-
-[[package]]
-name = "just_fmt"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5454cda0d57db59778608d7a47bff5b16c6705598265869fb052b657f66cf05e"
-
-[[package]]
-name = "mingling"
-version = "0.1.9"
-dependencies = [
- "mingling_core",
- "mingling_macros",
- "size",
-]
-
-[[package]]
-name = "mingling_core"
-version = "0.1.9"
-dependencies = [
- "just_fmt",
-]
-
-[[package]]
-name = "mingling_macros"
-version = "0.1.9"
-dependencies = [
- "just_fmt",
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.106"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
-dependencies = [
- "proc-macro2",
-]
-
-[[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.117"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "tokio"
-version = "1.52.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6"
-dependencies = [
- "pin-project-lite",
- "tokio-macros",
-]
-
-[[package]]
-name = "tokio-macros"
-version = "2.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
diff --git a/examples/example-picker/Cargo.toml b/examples/example-picker/Cargo.toml
deleted file mode 100644
index d8e9c86..0000000
--- a/examples/example-picker/Cargo.toml
+++ /dev/null
@@ -1,8 +0,0 @@
-[package]
-name = "example-picker"
-version = "0.0.1"
-edition = "2024"
-
-[dependencies]
-mingling = { path = "../../mingling", features = ["parser"] }
-tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros"] }
diff --git a/examples/example-picker/src/main.rs b/examples/example-picker/src/main.rs
deleted file mode 100644
index 651edb3..0000000
--- a/examples/example-picker/src/main.rs
+++ /dev/null
@@ -1,60 +0,0 @@
-//! `Mingling` Example - Picker
-//!
-//! ## Step1 - Enable Feature
-//! Enable the `parser` feature for mingling in `Cargo.toml`
-//! ```toml
-//! [dependencies]
-//! mingling = { version = "...", features = ["parser"] }
-//! ```
-//!
-//! ## Step2 - Write Code
-//! Write the following content into `main.rs`
-//!
-//! ## Step3 - Build and Run
-//! ```bash
-//! cargo run --manifest-path ./examples/example-picker/Cargo.toml -- pick Bob
-//! cargo run --manifest-path ./examples/example-picker/Cargo.toml -- pick Bob --age -15
-//! cargo run --manifest-path ./examples/example-picker/Cargo.toml -- pick --age 99
-//! ```
-
-use mingling::prelude::*;
-
-dispatcher!("pick", PickCommand => PickEntry);
-
-fn main() {
- let mut program = ThisProgram::new();
- program.with_dispatcher(PickCommand);
- program.exec();
-}
-
-pack!(NoNameProvided = ());
-pack!(ParsedPickInput = (i32, String));
-
-#[chain]
-fn parse(prev: PickEntry) -> Next {
- let picked = prev
- // First extract the named argument
- .pick_or("--age", 20)
- .after(|n: i32| n.clamp(0, 100))
- // Then sequentially extract the remaining arguments
- .pick_or_route((), NoNameProvided::default().to_render())
- .unpack();
-
- match picked {
- Ok(value) => ParsedPickInput::new(value).to_render(),
- Err(e) => e,
- }
-}
-
-#[renderer]
-fn render_parsed_pick_input(prev: ParsedPickInput) {
- let (age, name) = prev.inner;
- r_println!("Picked: name = {}, age = {}", name, age);
-}
-
-#[renderer]
-fn render_no_name_input(_prev: NoNameProvided) {
- r_println!("No name provided.");
-}
-
-gen_program!();