12 releases (7 breaking)
0.8.0 | Nov 6, 2021 |
---|---|
0.7.0 | Oct 31, 2021 |
0.6.1 | Oct 30, 2021 |
0.5.3 | Aug 17, 2021 |
0.1.0 | Aug 3, 2021 |
#12 in #verbosity
44KB
845 lines
cli-toolbox
Utility library for working with cli
output ergonomically.
This is not a logging alternative, it's intended to produce output for end user consumption.
It handles three levels of verbosity that can be set dynamically at runtime:
- Quite - no output
- Terse - used to provide minimal user output
- Verbose - used to provide elaborated and/or additional user output
Output Macros
-
debug!
- conditionally compiled console debugging output -debug
-
report!
- conditional console output according to verbosity level -debug
|release
* debug! is intended to be used during application development
* all other debugging and telemetry output is most likely better served with a logging library
Conditional Code
-
eval!
- conditional code execution according to verbosity level -debug
|release
-
release!
- conditional code execution according to verbosity level -release
Resources
Usage
Each macro is gated by a feature.
No feature is mutually exclusive and can be combined as needed.
debug!
macro
[dependencies]
cli-toolbox = { version = "0.8", features = ["debug"] }
eval!
macro
[dependencies]
cli-toolbox = { version = "0.8", features = ["eval"] }
verbosity = "0.1"
release!
macro
[dependencies]
cli-toolbox = { version = "0.8", features = ["release"] }
verbosity = "0.1"
report!
macro
[dependencies]
cli-toolbox = { version = "0.8", features = ["report"] }
verbosity = "0.1"
Roadmap
- ...
Implemented
-
debug!
macro -
eval!
macro -
release!
macro -
report!
macro
Dependencies
~1.2–1.8MB
~38K SLoC