Macro cli_toolbox::report [−][src]
macro_rules! report { ($msg : expr) => { ... }; ($msg : expr, $($arg : expr), *) => { ... }; (VERBOSE $msg : expr) => { ... }; (VERBOSE $msg : expr, $($arg : expr), *) => { ... }; (ERR $msg : expr) => { ... }; (ERR $msg : expr, $($arg : expr), *) => { ... }; (ERRV $msg : expr) => { ... }; (ERRV $msg : expr, $($arg : expr), *) => { ... }; (TERSE $terse_msg : expr ; VERBOSE $verbose_msg : expr ;) => { ... }; (TERSE $terse_msg : expr, $($terse_arg : expr), * ; VERBOSE $verbose_msg : expr ;) => { ... }; (TERSE $terse_msg : expr ; VERBOSE $verbose_msg : expr, $($verbose_arg : expr), * ;) => { ... }; (TERSE $terse_msg : expr, $($terse_arg : expr), * ; VERBOSE $verbose_msg : expr, $($verbose_arg : expr), * ;) => { ... }; (ERR $terse_msg : expr ; ERRV $verbose_msg : expr ;) => { ... }; (ERR $terse_msg : expr, $($terse_arg : expr), * ; ERRV $verbose_msg : expr ;) => { ... }; (ERR $terse_msg : expr ; ERRV $verbose_msg : expr, $($verbose_arg : expr), * ;) => { ... }; (ERR $terse_msg : expr, $($terse_arg : expr), * ; ERRV $verbose_msg : expr, $($verbose_arg : expr), * ;) => { ... }; (@ $msg : expr) => { ... }; (@ $msg : expr, $($val : expr), *) => { ... }; (@ ERR $msg : expr) => { ... }; (@ ERR $msg : expr, $($val : expr), *) => { ... }; }
Expand description
The report! macro provides conditional user output and error reporting according to Verbosity level.
Features
-
you can report user output and error messages at two levels of detail, i.e.
TerseorVerbose -
the user can set the level of reporting they want to endure 🙃, i.e.
Quite,TerseorVerbose -
all
Terseoutput will also output if the level is set toVerbose -
you can also choose unique output for
TerseorVerbose -
you can format output with application state
Terse Examples
These examples output only if Verbosity level is greater than Quite.
- basic output to
stdout
report! { "some user output" }
- formatted output to
stdout
report! { "some formatted user output; {}", 42 }
- basic output to
stderr
report! { ERR "some error message" }
- formatted output to
stderr
report! { ERR "some formatted error message; {}", -42 }
Verbose Examples
These examples output only if Verbosity level is greater than Terse.
- basic output to
stdout
report! { VERBOSE "some detailedd user output" }
- formatted output to
stdout
report! { VERBOSE "some formatted more detailed user output; {}", 42 }
- basic output to
stderr
report! { ERRV "some detailedd error message" }
- formatted output to
stderr
report! { ERRV "some formatted more detailed error message; {}", -42 }
Terse or Verbose Examples
These examples conditionally output if Verbosity level is greater than Quite.
- output to
stdout
// the following will output only one of the two messages, either branch accepts formatting report! { TERSE "some user output"; VERBOSE "some formatted more detailed user output; {}", 42; }
- output to
stderr
// the following will output only one of the two messages, either branch accepts formatting report! { ERR "some error message"; ERRV "some formatted more detailed error message; {}", -42; }