aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/_zh_CN/pages/1-creating-your-first-program.md12
-rw-r--r--docs/_zh_CN/pages/2-implementing-fallbacks.md2
-rw-r--r--docs/_zh_CN/pages/3-parsing-complex-arguments.md14
-rw-r--r--docs/pages/1-creating-your-first-program.md12
-rw-r--r--docs/pages/2-implementing-fallbacks.md2
-rw-r--r--docs/pages/3-parsing-complex-arguments.md14
6 files changed, 28 insertions, 28 deletions
diff --git a/docs/_zh_CN/pages/1-creating-your-first-program.md b/docs/_zh_CN/pages/1-creating-your-first-program.md
index ae0fef5..efb9997 100644
--- a/docs/_zh_CN/pages/1-creating-your-first-program.md
+++ b/docs/_zh_CN/pages/1-creating-your-first-program.md
@@ -163,7 +163,7 @@ dispatcher!("greet", GreetCommand => GreetEntry);
pack!(ResultGreetSomeone = String);
#[chain]
-fn handle_greet_entry(prev: GreetEntry) -> NextProcess {
+fn handle_greet_entry(prev: GreetEntry) -> Next {
let args = prev.inner;
let name = args
.first()
@@ -185,15 +185,15 @@ fn render_greet_someone(prev: ResultGreetSomeone) {
这样我们就在原本的 `Dispatcher` 和 `Renderer` 中间插入了一个 `Chain`:它可以将用户输入的参数提取出来(或回退到默认值 "World"),再交由渲染器打印到终端。
-##### 关于 `NextProcess` 💡
+##### 关于 `Next` 💡
- `NextProcess` 是由 `gen_program!()` 生成的占位符,在 `#[chain]` 展开后,它将被替换为调度器能识别的类型擦除类型 `ChainProcess<ThisProgram>`,用于减少代码量
+ `Next` 是由 `gen_program!()` 生成的占位符,在 `#[chain]` 展开后,它将被替换为调度器能识别的类型擦除类型 `ChainProcess<ThisProgram>`,用于减少代码量
> [!NOTE]
>
-> `NextProcess` 方案为临时替代,下一次更新需要等待 Rust 的 `Impl In Type Aliases` 特性稳定后。
+> `Next` 方案为临时替代,下一次更新需要等待 Rust 的 `Impl In Type Aliases` 特性稳定后。
>
-> **不过,您不用担心**:下一次 `NextProcess` 的更新不会引入 **破坏性变更!**
+> **不过,您不用担心**:下一次 `Next` 的更新不会引入 **破坏性变更!**
##### 关于 `pack!` 💡
@@ -227,7 +227,7 @@ dispatcher!("greet", GreetCommand => GreetEntry);
pack!(ResultGreetSomeone = String);
#[chain]
-fn handle_greet_entry(prev: GreetEntry) -> NextProcess {
+fn handle_greet_entry(prev: GreetEntry) -> Next {
let args = prev.inner;
let name = args.first().cloned().unwrap_or_else(|| "World".to_string());
diff --git a/docs/_zh_CN/pages/2-implementing-fallbacks.md b/docs/_zh_CN/pages/2-implementing-fallbacks.md
index e4fd3f8..b57a9e7 100644
--- a/docs/_zh_CN/pages/2-implementing-fallbacks.md
+++ b/docs/_zh_CN/pages/2-implementing-fallbacks.md
@@ -97,7 +97,7 @@ fn main() {
pack!(ResultGreetSomeone = String);
#[chain]
-fn handle_greet_entry(prev: GreetEntry) -> NextProcess {
+fn handle_greet_entry(prev: GreetEntry) -> Next {
let args = prev.inner;
let name = args.first().cloned().unwrap_or_else(|| "World".to_string());
diff --git a/docs/_zh_CN/pages/3-parsing-complex-arguments.md b/docs/_zh_CN/pages/3-parsing-complex-arguments.md
index 4ee9cec..1fe78da 100644
--- a/docs/_zh_CN/pages/3-parsing-complex-arguments.md
+++ b/docs/_zh_CN/pages/3-parsing-complex-arguments.md
@@ -29,7 +29,7 @@ mingling = {
```rust
#[chain]
-fn handle_greet_entry(prev: GreetEntry) -> NextProcess {
+fn handle_greet_entry(prev: GreetEntry) -> Next {
// 前文中使用的方式:
// let args = prev.inner;
// let name = args.first().cloned().unwrap_or_else(|| "World".to_string());
@@ -118,7 +118,7 @@ pack!(ResultGreetSomeone = String);
pack!(ErrorGreetNoNameProvided = ());
#[chain]
-fn handle_greet_entry(prev: GreetEntry) -> NextProcess {
+fn handle_greet_entry(prev: GreetEntry) -> Next {
// 使用 `pick_or_route` 提取 `--name` 参数
// 如果不存在或解析失败,则路由到 ErrorGreetNoNameProvided
let pick_result = prev
@@ -167,7 +167,7 @@ let name = match pick_result {
```rust
#[chain]
-fn handle_greet_entry(prev: GreetEntry) -> NextProcess {
+fn handle_greet_entry(prev: GreetEntry) -> Next {
let name = prev
.pick_or(["--name", "-n"], "World")
// 在提取出 `--name` 后,立刻对其进行格式化
@@ -192,7 +192,7 @@ pack!(ResultGreetSomeone = String);
pack!(ErrorGreetNameTooLong = usize);
#[chain]
-fn handle_greet_entry(prev: GreetEntry) -> NextProcess {
+fn handle_greet_entry(prev: GreetEntry) -> Next {
let pick_result = prev
.pick_or(["--name", "-n"], "World")
// 和 `after` 不同,此处传入的是 &String
@@ -244,7 +244,7 @@ fn render_greet_someone(prev: ResultGreetSomeone) {
```rust
#[chain]
-fn handle_some_entry(prev: SomeEntry) -> NextProcess {
+fn handle_some_entry(prev: SomeEntry) -> Next {
let confirmed: bool = prev.pick::<Yes>(()).unpack().is_yes();
let confirm: bool = prev.pick::<bool>(["--confirm", "-C"]).unpack();
@@ -301,7 +301,7 @@ dispatcher!("connect", ConnectCommand => ConnectEntry);
pack!(ResultConnected = Address);
#[chain]
-fn handle_connect_entry(prev: ConnectEntry) -> NextProcess {
+fn handle_connect_entry(prev: ConnectEntry) -> Next {
let address: Address = prev.pick("--addr").unpack();
ResultConnected::new(address)
}
@@ -346,7 +346,7 @@ impl PickableEnum for Fruits {}
pack!(ResultFruit = Fruits);
#[chain]
-fn handle_eat_fruit_entry(prev: EatFruitEntry) -> NextProcess {
+fn handle_eat_fruit_entry(prev: EatFruitEntry) -> Next {
let fruit: Fruits = prev.pick("--fruit").unpack();
ResultFruit::new(fruit)
}
diff --git a/docs/pages/1-creating-your-first-program.md b/docs/pages/1-creating-your-first-program.md
index 0a6ff3c..56b7b90 100644
--- a/docs/pages/1-creating-your-first-program.md
+++ b/docs/pages/1-creating-your-first-program.md
@@ -163,7 +163,7 @@ dispatcher!("greet", GreetCommand => GreetEntry);
pack!(ResultGreetSomeone = String);
#[chain]
-fn handle_greet_entry(prev: GreetEntry) -> NextProcess {
+fn handle_greet_entry(prev: GreetEntry) -> Next {
let args = prev.inner;
let name = args
.first()
@@ -185,15 +185,15 @@ fn render_greet_someone(prev: ResultGreetSomeone) {
This inserts a `Chain` between the original `Dispatcher` and `Renderer`: it extracts the user's input params (or falls back to "World"), then passes them to the renderer to print to the terminal.
-##### About `NextProcess` 💡
+##### About `Next` 💡
- `NextProcess` is a placeholder generated by `gen_program!()`. After `#[chain]` expands, it's replaced by a type-erased type `ChainProcess<ThisProgram>` that the dispatcher can recognize, helping reduce boilerplate code.
+ `Next` is a placeholder generated by `gen_program!()`. After `#[chain]` expands, it's replaced by a type-erased type `ChainProcess<ThisProgram>` that the dispatcher can recognize, helping reduce boilerplate code.
> [!NOTE]
>
-> `NextProcess` is a temporary solution; the next update will wait until Rust's `Impl In Type Aliases` feature is stable.
+> `Next` is a temporary solution; the next update will wait until Rust's `Impl In Type Aliases` feature is stable.
>
-> **But don't worry**: the next `NextProcess` update won't introduce **breaking changes!**
+> **But don't worry**: the next `Next` update won't introduce **breaking changes!**
##### About `pack!` 💡
@@ -227,7 +227,7 @@ dispatcher!("greet", GreetCommand => GreetEntry);
pack!(ResultGreetSomeone = String);
#[chain]
-fn handle_greet_entry(prev: GreetEntry) -> NextProcess {
+fn handle_greet_entry(prev: GreetEntry) -> Next {
let args = prev.inner;
let name = args.first().cloned().unwrap_or_else(|| "World".to_string());
diff --git a/docs/pages/2-implementing-fallbacks.md b/docs/pages/2-implementing-fallbacks.md
index 685d238..3f3cb93 100644
--- a/docs/pages/2-implementing-fallbacks.md
+++ b/docs/pages/2-implementing-fallbacks.md
@@ -97,7 +97,7 @@ fn main() {
pack!(ResultGreetSomeone = String);
#[chain]
-fn handle_greet_entry(prev: GreetEntry) -> NextProcess {
+fn handle_greet_entry(prev: GreetEntry) -> Next {
let args = prev.inner;
let name = args.first().cloned().unwrap_or_else(|| "World".to_string());
diff --git a/docs/pages/3-parsing-complex-arguments.md b/docs/pages/3-parsing-complex-arguments.md
index b48b28b..141c571 100644
--- a/docs/pages/3-parsing-complex-arguments.md
+++ b/docs/pages/3-parsing-complex-arguments.md
@@ -29,7 +29,7 @@ mingling = {
```rust
#[chain]
-fn handle_greet_entry(prev: GreetEntry) -> NextProcess {
+fn handle_greet_entry(prev: GreetEntry) -> Next {
// Prev. approach:
// let args = prev.inner;
// let name = args.first().cloned().unwrap_or_else(|| "World".to_string());
@@ -118,7 +118,7 @@ pack!(ResultGreetSomeone = String);
pack!(ErrorGreetNoNameProvided = ());
#[chain]
-fn handle_greet_entry(prev: GreetEntry) -> NextProcess {
+fn handle_greet_entry(prev: GreetEntry) -> Next {
// Use `pick_or_route` to extract the `--name` arg
// If missing or parse fails, route to ErrorGreetNoNameProvided
let pick_result = prev
@@ -167,7 +167,7 @@ let name = match pick_result {
```rust
#[chain]
-fn handle_greet_entry(prev: GreetEntry) -> NextProcess {
+fn handle_greet_entry(prev: GreetEntry) -> Next {
let name = prev
.pick_or(["--name", "-n"], "World")
// After extracting `--name`, format it immediately
@@ -192,7 +192,7 @@ pack!(ResultGreetSomeone = String);
pack!(ErrorGreetNameTooLong = usize);
#[chain]
-fn handle_greet_entry(prev: GreetEntry) -> NextProcess {
+fn handle_greet_entry(prev: GreetEntry) -> Next {
let pick_result = prev
.pick_or(["--name", "-n"], "World")
// Unlike `after`, this borrows &String
@@ -244,7 +244,7 @@ fn render_greet_someone(prev: ResultGreetSomeone) {
```rust
#[chain]
-fn handle_some_entry(prev: SomeEntry) -> NextProcess {
+fn handle_some_entry(prev: SomeEntry) -> Next {
let confirmed: bool = prev.pick::<Yes>(()).unpack().is_yes();
let confirm: bool = prev.pick::<bool>(["--confirm", "-C"]).unpack();
@@ -301,7 +301,7 @@ dispatcher!("connect", ConnectCommand => ConnectEntry);
pack!(ResultConnected = Address);
#[chain]
-fn handle_connect_entry(prev: ConnectEntry) -> NextProcess {
+fn handle_connect_entry(prev: ConnectEntry) -> Next {
let address: Address = prev.pick("--addr").unpack();
ResultConnected::new(address)
}
@@ -346,7 +346,7 @@ impl PickableEnum for Fruits {}
pack!(ResultFruit = Fruits);
#[chain]
-fn handle_eat_fruit_entry(prev: EatFruitEntry) -> NextProcess {
+fn handle_eat_fruit_entry(prev: EatFruitEntry) -> Next {
let fruit: Fruits = prev.pick("--fruit").unpack();
ResultFruit::new(fruit)
}