diff options
Diffstat (limited to 'examples/example-hook')
| -rw-r--r-- | examples/example-hook/src/main.rs | 23 |
1 files changed, 13 insertions, 10 deletions
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 --------- |
