aboutsummaryrefslogtreecommitdiff
path: root/examples/example-exitcode
diff options
context:
space:
mode:
Diffstat (limited to 'examples/example-exitcode')
-rw-r--r--examples/example-exitcode/Cargo.lock10
-rw-r--r--examples/example-exitcode/src/main.rs20
2 files changed, 19 insertions, 11 deletions
diff --git a/examples/example-exitcode/Cargo.lock b/examples/example-exitcode/Cargo.lock
index 96bc223..df8b935 100644
--- a/examples/example-exitcode/Cargo.lock
+++ b/examples/example-exitcode/Cargo.lock
@@ -11,13 +11,13 @@ dependencies = [
[[package]]
name = "just_fmt"
-version = "0.1.2"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5454cda0d57db59778608d7a47bff5b16c6705598265869fb052b657f66cf05e"
+checksum = "6170dccbc3ea15dfb7f2da964097f814aba1dd8f746d4ffc56f33245c38e6d96"
[[package]]
name = "mingling"
-version = "0.2.0"
+version = "0.3.0"
dependencies = [
"mingling_core",
"mingling_macros",
@@ -25,14 +25,14 @@ dependencies = [
[[package]]
name = "mingling_core"
-version = "0.2.0"
+version = "0.3.0"
dependencies = [
"just_fmt",
]
[[package]]
name = "mingling_macros"
-version = "0.2.0"
+version = "0.3.0"
dependencies = [
"just_fmt",
"proc-macro2",
diff --git a/examples/example-exitcode/src/main.rs b/examples/example-exitcode/src/main.rs
index b0b7467..6b22eae 100644
--- a/examples/example-exitcode/src/main.rs
+++ b/examples/example-exitcode/src/main.rs
@@ -20,6 +20,7 @@ use mingling::{
res::ResExitCode,
setup::{BasicProgramSetup, ExitCodeSetup},
};
+use std::io::Write;
fn main() {
let mut program = ThisProgram::new();
@@ -52,25 +53,32 @@ fn handle_hello(args: EntryHello) -> Next {
/// Renders a successful greeting with the given name.
#[renderer]
-fn render_result_name(name: ResultName) {
- r_println!("Hello, {}", *name);
+fn render_result_name(name: ResultName) -> RenderResult {
+ let mut result = RenderResult::new();
+ writeln!(result, "Hello, {}", *name).ok();
+ result
}
#[help]
-fn help_hello(_p: EntryHello, ec: &mut ResExitCode) {
- r_println!("Usage: hello <NAME>");
+fn help_hello(_p: EntryHello, ec: &mut ResExitCode) -> RenderResult {
+ let mut result = RenderResult::new();
+ writeln!(result, "Usage: hello <NAME>").ok();
ec.exit_code = 2;
+ result
}
// Define renderer, render error message _______________ Inject exit code resource
// /
/// Renders the error when no name is provided |
#[renderer] // vvvvvvvvvvvvvvvv
-fn render_error_no_name_provided(_: ErrorNoNameProvided, ec: &mut ResExitCode) {
+fn render_error_no_name_provided(_: ErrorNoNameProvided, ec: &mut ResExitCode) -> RenderResult {
ec.exit_code = 1;
+ let mut result = RenderResult::new();
+
// Prompt when no name is provided
- r_println!("No name provided (with exit code 1)");
+ writeln!(result, "No name provided (with exit code 1)").ok();
+ result
}
gen_program!();