From 9411f2570cbd494aebefa2b97b6b5a1a5e68bb27 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Sun, 19 Apr 2026 00:49:09 +0800 Subject: Remove async runtime requirement from examples --- docs/pages/3-features/1-parser.md | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'docs/pages/3-features/1-parser.md') diff --git a/docs/pages/3-features/1-parser.md b/docs/pages/3-features/1-parser.md index 2ebe31c..f89091b 100644 --- a/docs/pages/3-features/1-parser.md +++ b/docs/pages/3-features/1-parser.md @@ -25,7 +25,7 @@ The following demonstrates the parsing approach without using a `Picker`: ```rust #[chain] -async fn parse_hello(prev: HelloEntry) -> NextProcess { +fn parse_hello(prev: HelloEntry) -> NextProcess { let args = &*prev; let first = args.first().cloned().unwrap_or_else(|| "World".to_string()); ParsedHello::new(first).to_render() @@ -36,7 +36,7 @@ This is how it looks when using `Picker`: ```rust #[chain] -async fn parse_hello(prev: HelloEntry) -> NextProcess { +fn parse_hello(prev: HelloEntry) -> NextProcess { // Create Picker let picker = Picker::::new(prev.inner); @@ -102,11 +102,10 @@ use mingling::{ parser::PickableEnum, }; -#[tokio::main] -async fn main() { +fn main() { let mut program = ThisProgram::new(); program.with_dispatcher(FruitEatCommand); - program.exec().await; + program.exec(); } dispatcher!("eat", @@ -131,7 +130,7 @@ enum Fruit { impl PickableEnum for Fruit {} #[chain] -async fn parse_fruit_eat(prev: FruitEatEntry) -> NextProcess { +fn parse_fruit_eat(prev: FruitEatEntry) -> NextProcess { // ... } @@ -197,7 +196,7 @@ Now start writing the logic: ```rust #[chain] -async fn parse_fruit_eat(prev: FruitEatEntry) -> NextProcess { +fn parse_fruit_eat(prev: FruitEatEntry) -> NextProcess { let picker = Picker::new(prev.inner); let mut min_weight: i16 = 0; let parsed = picker @@ -247,11 +246,10 @@ use mingling::{ parser::{PickableEnum, Picker}, }; -#[tokio::main] -async fn main() { +fn main() { let mut program = ThisProgram::new(); program.with_dispatcher(FruitEatCommand); - program.exec().await; + program.exec(); } dispatcher!("eat", @@ -277,7 +275,7 @@ impl PickableEnum for Fruit {} pack!(MinGreaterThanMax = ()); #[chain] -async fn parse_fruit_eat(prev: FruitEatEntry) -> NextProcess { +fn parse_fruit_eat(prev: FruitEatEntry) -> NextProcess { let picker = Picker::new(prev.inner); let mut min_weight: i16 = 0; let parsed = picker -- cgit