verbosity

Crates.ioverbosity
lib.rsverbosity
version0.1.0
sourcesrc
created_at2021-10-26 18:44:26.172322
updated_at2021-10-26 18:44:26.172322
descriptionUtility library for working with cli output ergonomically
homepagehttps://github.com/Nejat/verbosity-rs
repositoryhttps://github.com/Nejat/verbosity-rs
max_upload_size
id472039
size10,386
Nejat (Nejat)

documentation

README

Verbosity

Intended for use with cli commands this library lets you set a singleton [Verbosity] option to indicate different levels of reporting, i.e. Quite | Terse | Verbose

Example

let level = Verbosity::from_str(
        &std::env::args().last().unwrap_or(String::new())
    ).unwrap_or(Verbosity::Quite);

level.set_as_global();

match Verbosity::level() {
    Quite => {}
    Terse =>
        println!("terse message"),
    Verbose =>
        println!("overly verbose message for some command")
}

Related Crate

The cli-toolbox crate uses this library to provide a more ergonomic way of controlling reporting output

i.e.

let level = Verbosity::from_str(
        &std::env::args().last().unwrap_or(String::new())
    ).unwrap_or(Verbosity::Quite);

level.set_as_global();

report! {
    @terse "terse message"
    @verbose "overly verbose message for some command"
}

Resources

  • Docs for more detailed information

Usage

[dependencies]
verbosity = "0.1"
Commit count: 6

cargo fmt