diff options
Diffstat (limited to 'examples/example-argument-parse')
| -rw-r--r-- | examples/example-argument-parse/Cargo.lock | 10 | ||||
| -rw-r--r-- | examples/example-argument-parse/src/main.rs | 15 |
2 files changed, 16 insertions, 9 deletions
diff --git a/examples/example-argument-parse/Cargo.lock b/examples/example-argument-parse/Cargo.lock index a424789..696dcb6 100644 --- a/examples/example-argument-parse/Cargo.lock +++ b/examples/example-argument-parse/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", @@ -26,14 +26,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-argument-parse/src/main.rs b/examples/example-argument-parse/src/main.rs index 4929b7c..59499a2 100644 --- a/examples/example-argument-parse/src/main.rs +++ b/examples/example-argument-parse/src/main.rs @@ -19,6 +19,7 @@ //! ``` use mingling::{macros::route, prelude::*}; +use std::io::Write; dispatcher!("transfer", CMDTransfer => EntryTransfer); dispatcher!("strict-transfer", CMDStrictTransfer => EntryStrictTransfer); @@ -71,20 +72,26 @@ fn handle_strict_transfer_parse(args: EntryStrictTransfer) -> Next { /// Renders the parsed transfer result (file/dir, size, name). #[renderer] -fn render_result_file(result: ResultFile) { +fn render_result_file(result: ResultFile) -> RenderResult { let (is_dir, size, name) = result.into(); - r_println!( + let mut result = RenderResult::new(); + writeln!( + result, "{}: {} ({})", if is_dir { "dir" } else { "file" }, name, size ) + .ok(); + result } /// Renders the error when no name is provided. #[renderer] -fn render_error_no_name_provided(_: ErrorNoNameProvided) { - r_println!("Error: name is not provided") +fn render_error_no_name_provided(_: ErrorNoNameProvided) -> RenderResult { + let mut result = RenderResult::new(); + writeln!(result, "Error: name is not provided").ok(); + result } gen_program!(); |
