aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/example-async-support/src/main.rs2
-rw-r--r--examples/example-hook/src/main.rs23
-rw-r--r--examples/example-panic-unwind/src/main.rs5
-rw-r--r--examples/example-repl-basic/src/main.rs2
4 files changed, 19 insertions, 13 deletions
diff --git a/examples/example-async-support/src/main.rs b/examples/example-async-support/src/main.rs
index 5ded5e5..920b3dd 100644
--- a/examples/example-async-support/src/main.rs
+++ b/examples/example-async-support/src/main.rs
@@ -33,7 +33,7 @@ async fn main() {
program.with_dispatcher(CMDDownload);
// Add a hook to display when the download begins
- program.with_hook(ProgramHook::empty().on_begin(|| println!("Download begin")));
+ program.with_hook(ProgramHook::empty().on_begin::<_, ()>(|_| println!("Download begin")));
// --------- IMPORTANT ---------
// The return values of `exec_*()` related functions have been replaced with Futures
diff --git a/examples/example-hook/src/main.rs b/examples/example-hook/src/main.rs
index d6a2dd0..d9a8fd1 100644
--- a/examples/example-hook/src/main.rs
+++ b/examples/example-hook/src/main.rs
@@ -20,7 +20,10 @@
//! Hello, Alice!
//! ```
-use mingling::{hook::ProgramHook, prelude::*};
+use mingling::{
+ hook::{ProgramControlUnit, ProgramHook},
+ prelude::*,
+};
dispatcher!("greet", CMDGreet => EntryGreet);
@@ -30,18 +33,18 @@ fn main() {
// --------- IMPORTANT ---------
program.with_hook(
ProgramHook::<ThisProgram>::empty()
- .on_begin(|| println!("[DEBUG] Program is begin"))
- .on_pre_dispatch(|args| println!("[DEBUG] Pre dispatch: {args:?}"))
- .on_post_dispatch(|c: &_| println!("[DEBUG] Post dispatch: {c:?}"))
- .on_pre_chain(|c: &_, _| {
- println!("[DEBUG] Pre chain: {c}");
+ .on_begin::<_, ()>(|_| println!("[DEBUG] Program is begin"))
+ .on_pre_dispatch(|info| println!("[DEBUG] Pre dispatch: {}", info.arguments.join(" ")))
+ .on_post_dispatch(|info| println!("[DEBUG] Post dispatch: {}", info.entry))
+ .on_pre_chain(|info| {
+ println!("[DEBUG] Pre chain: {}", info.input);
})
- .on_post_chain(|any_output| println!("[DEBUG] Post chain: {}", any_output.member_id))
- .on_finish(|| {
+ .on_post_chain(|info| println!("[DEBUG] Post chain: {}", info.output.member_id))
+ .on_finish(|_| {
println!("[DEBUG] Loop end");
- 0 // Override exit code
+ ProgramControlUnit::OverrideExitCode(0) // Override exit code
})
- .on_pre_render(|c: &_, _| println!("[DEBUG] Pre render: {c}"))
+ .on_pre_render(|info| println!("[DEBUG] Pre render: {}", info.input))
.on_post_render(|_| println!("[DEBUG] Post render")),
);
// --------- IMPORTANT ---------
diff --git a/examples/example-panic-unwind/src/main.rs b/examples/example-panic-unwind/src/main.rs
index bb25541..ed032c5 100644
--- a/examples/example-panic-unwind/src/main.rs
+++ b/examples/example-panic-unwind/src/main.rs
@@ -29,7 +29,10 @@ fn main() {
program.stdout_setting.silence_panic = true;
// Define a hook to output &ProgramPanic when a Panic occurs
- program.with_hook(ProgramHook::empty().on_exec_panic(|info| println!("Program panic: {info}")));
+ program.with_hook(
+ ProgramHook::empty()
+ .on_exec_panic::<_, ()>(|info| println!("Program panic: {}", info.panic)),
+ );
// --------- IMPORTANT ---------
let _ = program.exec();
diff --git a/examples/example-repl-basic/src/main.rs b/examples/example-repl-basic/src/main.rs
index abea141..8df8c22 100644
--- a/examples/example-repl-basic/src/main.rs
+++ b/examples/example-repl-basic/src/main.rs
@@ -65,7 +65,7 @@ fn main() {
}));
// Add hooks to handle REPL-related events
- program.with_hook(ProgramHook::empty().on_repl_begin(|| {
+ program.with_hook(ProgramHook::empty().on_repl_begin(|_| {
// Print welcome message
println!("Welcome!");
}));