diff options
Diffstat (limited to 'examples/example-exit-code/src/main.rs')
| -rw-r--r-- | examples/example-exit-code/src/main.rs | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/examples/example-exit-code/src/main.rs b/examples/example-exit-code/src/main.rs deleted file mode 100644 index c9b3c92..0000000 --- a/examples/example-exit-code/src/main.rs +++ /dev/null @@ -1,38 +0,0 @@ -//! `Mingling` Example - Exit Code -//! -//! This example demonstrates how to modify the program's exit code using `ExitCodeSetup`. -//! By default, the program exits with code 0. This example shows: -//! 1. Using `dispatcher!` to define an error command, -//! 2. Using `chain!` to handle errors and set a custom exit code via `ProgramExitCode`, -//! 3. Using `renderer!` to print an error message. -//! -//! # How to Run -//! ```bash -//! cargo run --manifest-path ./examples/example-exit-code/Cargo.toml -- error -//! ``` - -use mingling::prelude::*; -use mingling::{res::ExitCode, setup::ExitCodeSetup}; - -fn main() { - let mut program = ThisProgram::new(); - program.with_dispatcher(ErrorCommand); - program.with_setup(ExitCodeSetup::<ThisProgram>::default()); - program.exec_and_exit(); -} - -dispatcher!("error", ErrorCommand => ErrorEntry); -pack!(ResultError = ()); - -#[chain] -fn handle_error_entry(_prev: ErrorEntry, ec: &mut ExitCode) -> Next { - ec.exit_code = 1; - return ResultError::default(); -} - -#[renderer] -fn render_error(_prev: ResultError, ec: &ExitCode) { - r_println!("Exit with exit code: {}", ec.exit_code); -} - -gen_program!(); |
