aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-04-19 00:31:05 +0800
committer魏曹先生 <1992414357@qq.com>2026-04-19 00:31:05 +0800
commit532f4ceba2bddb1c84d2e0bdd69808a3ebd5ca4a (patch)
tree043514a2aca670d8b2398726b17aab1066938ba1 /examples
parentecc1329bbd31cd98fa9b4c2f25a3114f133987ae (diff)
Make async an optional feature
Diffstat (limited to 'examples')
-rw-r--r--examples/example-basic/Cargo.lock36
-rw-r--r--examples/example-basic/Cargo.toml1
-rw-r--r--examples/example-basic/src/main.rs7
-rw-r--r--examples/example-completion/Cargo.lock36
-rw-r--r--examples/example-completion/Cargo.toml1
-rw-r--r--examples/example-completion/src/main.rs7
-rw-r--r--examples/example-general-renderer/Cargo.lock36
-rw-r--r--examples/example-general-renderer/Cargo.toml1
-rw-r--r--examples/example-general-renderer/src/main.rs7
-rw-r--r--examples/example-picker/Cargo.lock8
-rw-r--r--examples/example-picker/src/main.rs7
11 files changed, 12 insertions, 135 deletions
diff --git a/examples/example-basic/Cargo.lock b/examples/example-basic/Cargo.lock
index 114e049..5e3ff98 100644
--- a/examples/example-basic/Cargo.lock
+++ b/examples/example-basic/Cargo.lock
@@ -3,17 +3,10 @@
version = 4
[[package]]
-name = "bytes"
-version = "1.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
-
-[[package]]
name = "example-basic"
version = "0.0.1"
dependencies = [
"mingling",
- "tokio",
]
[[package]]
@@ -37,7 +30,6 @@ dependencies = [
"just_fmt",
"once_cell",
"thiserror",
- "tokio",
]
[[package]]
@@ -58,12 +50,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
[[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"
@@ -113,28 +99,6 @@ dependencies = [
]
[[package]]
-name = "tokio"
-version = "1.51.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f66bf9585cda4b724d3e78ab34b73fb2bbaba9011b9bfdf69dc836382ea13b8c"
-dependencies = [
- "bytes",
- "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"
diff --git a/examples/example-basic/Cargo.toml b/examples/example-basic/Cargo.toml
index 49870d7..48c281a 100644
--- a/examples/example-basic/Cargo.toml
+++ b/examples/example-basic/Cargo.toml
@@ -5,4 +5,3 @@ edition = "2024"
[dependencies]
mingling = { path = "../../mingling" }
-tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros"] }
diff --git a/examples/example-basic/src/main.rs b/examples/example-basic/src/main.rs
index 9aaff06..a35cac6 100644
--- a/examples/example-basic/src/main.rs
+++ b/examples/example-basic/src/main.rs
@@ -13,8 +13,7 @@ use mingling::{
// Define dispatcher `HelloCommand`, directing subcommand "hello" to `HelloEntry`
dispatcher!("hello", HelloCommand => HelloEntry);
-#[tokio::main]
-async fn main() {
+fn main() {
// Create program
let mut program = ThisProgram::new();
@@ -22,7 +21,7 @@ async fn main() {
program.with_dispatcher(HelloCommand);
// Run program
- program.exec().await;
+ program.exec();
}
// Register wrapper type `Hello`, setting inner to `String`
@@ -30,7 +29,7 @@ pack!(Hello = String);
// Register chain to `ThisProgram`, handling logic from `HelloEntry`
#[chain]
-async fn parse_name(prev: HelloEntry) -> NextProcess {
+fn parse_name(prev: HelloEntry) -> NextProcess {
// Extract string from `HelloEntry` as argument
let name = prev.first().cloned().unwrap_or_else(|| "World".to_string());
diff --git a/examples/example-completion/Cargo.lock b/examples/example-completion/Cargo.lock
index 627bf49..08f1f22 100644
--- a/examples/example-completion/Cargo.lock
+++ b/examples/example-completion/Cargo.lock
@@ -3,17 +3,10 @@
version = 4
[[package]]
-name = "bytes"
-version = "1.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
-
-[[package]]
name = "example-completion"
version = "0.0.1"
dependencies = [
"mingling",
- "tokio",
]
[[package]]
@@ -48,7 +41,6 @@ dependencies = [
"just_template",
"once_cell",
"thiserror",
- "tokio",
]
[[package]]
@@ -69,12 +61,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
[[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"
@@ -130,28 +116,6 @@ dependencies = [
]
[[package]]
-name = "tokio"
-version = "1.51.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f66bf9585cda4b724d3e78ab34b73fb2bbaba9011b9bfdf69dc836382ea13b8c"
-dependencies = [
- "bytes",
- "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"
diff --git a/examples/example-completion/Cargo.toml b/examples/example-completion/Cargo.toml
index 984adaf..6a76d1f 100644
--- a/examples/example-completion/Cargo.toml
+++ b/examples/example-completion/Cargo.toml
@@ -5,4 +5,3 @@ edition = "2024"
[dependencies]
mingling = { path = "../../mingling", features = ["comp", "parser"] }
-tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros"] }
diff --git a/examples/example-completion/src/main.rs b/examples/example-completion/src/main.rs
index 807be3f..2e21a5c 100644
--- a/examples/example-completion/src/main.rs
+++ b/examples/example-completion/src/main.rs
@@ -54,12 +54,11 @@ fn comp_fruit_command(ctx: &ShellContext) -> Suggest {
return suggest!();
}
-#[tokio::main]
-async fn main() {
+fn main() {
let mut program = ThisProgram::new();
program.with_dispatcher(CompletionDispatcher);
program.with_dispatcher(FruitCommand);
- program.exec().await;
+ program.exec();
}
#[derive(Groupped)]
@@ -98,7 +97,7 @@ enum FruitType {
impl PickableEnum for FruitType {}
#[chain]
-async fn parse_fruit_info(prev: FruitEntry) -> NextProcess {
+fn parse_fruit_info(prev: FruitEntry) -> NextProcess {
let picker = Picker::<()>::from(prev.inner);
let (fruit_name, fruit_type) = picker.pick("--name").pick("--type").unpack_directly();
let info = FruitInfo {
diff --git a/examples/example-general-renderer/Cargo.lock b/examples/example-general-renderer/Cargo.lock
index 6d9cb38..c7b5981 100644
--- a/examples/example-general-renderer/Cargo.lock
+++ b/examples/example-general-renderer/Cargo.lock
@@ -12,12 +12,6 @@ dependencies = [
]
[[package]]
-name = "bytes"
-version = "1.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
-
-[[package]]
name = "equivalent"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -29,7 +23,6 @@ version = "0.0.1"
dependencies = [
"mingling",
"serde",
- "tokio",
]
[[package]]
@@ -87,7 +80,6 @@ dependencies = [
"serde_json",
"serde_yaml",
"thiserror",
- "tokio",
"toml",
]
@@ -109,12 +101,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
[[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"
@@ -255,28 +241,6 @@ dependencies = [
]
[[package]]
-name = "tokio"
-version = "1.51.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f66bf9585cda4b724d3e78ab34b73fb2bbaba9011b9bfdf69dc836382ea13b8c"
-dependencies = [
- "bytes",
- "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 = "toml"
version = "1.1.2+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/examples/example-general-renderer/Cargo.toml b/examples/example-general-renderer/Cargo.toml
index 09aad80..cc5a541 100644
--- a/examples/example-general-renderer/Cargo.toml
+++ b/examples/example-general-renderer/Cargo.toml
@@ -9,4 +9,3 @@ mingling = { path = "../../mingling", features = [
"general_renderer",
] }
serde = { version = "1", features = ["derive"] }
-tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros"] }
diff --git a/examples/example-general-renderer/src/main.rs b/examples/example-general-renderer/src/main.rs
index 28028cf..e879900 100644
--- a/examples/example-general-renderer/src/main.rs
+++ b/examples/example-general-renderer/src/main.rs
@@ -43,13 +43,12 @@ use serde::Serialize;
dispatcher!("render", RenderCommand => RenderCommandEntry);
-#[tokio::main]
-async fn main() {
+fn main() {
let mut program = ThisProgram::new();
// Add `GeneralRendererSetup` to receive user input `--json` `--yaml` parameters
program.with_setup(GeneralRendererSetup);
program.with_dispatcher(RenderCommand);
- program.exec().await;
+ program.exec();
}
// Manually implement Info struct
@@ -62,7 +61,7 @@ struct Info {
}
#[chain]
-async fn parse_render(prev: RenderCommandEntry) -> NextProcess {
+fn parse_render(prev: RenderCommandEntry) -> NextProcess {
let (name, age) = Picker::<()>::new(prev.inner)
.pick::<String>(())
.pick::<i32>(())
diff --git a/examples/example-picker/Cargo.lock b/examples/example-picker/Cargo.lock
index 7f22d09..0586812 100644
--- a/examples/example-picker/Cargo.lock
+++ b/examples/example-picker/Cargo.lock
@@ -3,12 +3,6 @@
version = 4
[[package]]
-name = "bytes"
-version = "1.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
-
-[[package]]
name = "example-picker"
version = "0.0.1"
dependencies = [
@@ -38,7 +32,6 @@ dependencies = [
"just_fmt",
"once_cell",
"thiserror",
- "tokio",
]
[[package]]
@@ -125,7 +118,6 @@ version = "1.51.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f66bf9585cda4b724d3e78ab34b73fb2bbaba9011b9bfdf69dc836382ea13b8c"
dependencies = [
- "bytes",
"pin-project-lite",
"tokio-macros",
]
diff --git a/examples/example-picker/src/main.rs b/examples/example-picker/src/main.rs
index 7619b98..6bc4bfd 100644
--- a/examples/example-picker/src/main.rs
+++ b/examples/example-picker/src/main.rs
@@ -25,18 +25,17 @@ use mingling::{
dispatcher!("pick", PickCommand => PickEntry);
-#[tokio::main]
-async fn main() {
+fn main() {
let mut program = ThisProgram::new();
program.with_dispatcher(PickCommand);
- program.exec().await;
+ program.exec();
}
pack!(NoNameProvided = ());
pack!(ParsedPickInput = (i32, String));
#[chain]
-async fn parse(prev: PickEntry) -> NextProcess {
+fn parse(prev: PickEntry) -> NextProcess {
// Extract arguments from `PickEntry`'s inner and create a `Picker`
let picker = Picker::new(prev.inner);
let picked = picker