leg
🔈
Elegant print for lazy devs
Make your CLIs nicer with minimal effort. Simple wrapper on top of:
- async-std printing macros.
- Prints to
stderr
to be nice with your pipes. Except theresult
function, as expected.
- Prints to
- colored crate:
- Works on Linux, MacOS, and Windows (Powershell).
- Respects CLICOLOR/CLICOLOR_FORCE and NO_COLOR behavior.
Do not use this crate in libraries! You should use the log one instead. Visit this section of the book Command line apps in Rust if you want to learn more about this topic.
Install
With cargo-edit installed run:
cargo add leg
Use
use leg::*;
use async_std::{eprint, eprintln};
#[async_std::main]
async fn main() {
head("leg", Some("🔈"), Some("1.0.0")).await;
info("Informational message", None, None).await;
success("Successful operation", None, None).await;
warn("Warn message", None, None).await;
error("Error message", None, None).await;
wait("Waiting for something", None, None).await;
done("Something finished", None, None).await;
info("Informational message with scope", Some("myscope"), None).await;
info("Informational message without new line", None, Some(false)).await;
eprintln!(" => same line").await;
eprint!("Not shown").await;
remove().await;
result("To standard output").await;
}