Crate termstatus
source ·Expand description
termstatus
termstatus is a tool that lets you inform the user the progress of your program by displaying the status. It looks similar to the status texts displayed by rustc or cargo.
Installation
Simply use $ cargo add termstatus
or add the following dependency to your
Cargo.toml:
[dependencies]
termstatus = "0.2"
Usage
Create an enum
whose variants are the different status labels and derive it
from TermStatus
:
extern crate termstatus;
use termstatus::TermStatus;
#[allow(dead_code)]
#[derive(TermStatus)]
enum Status {
Building,
Built,
Compiled,
Compiling,
#[style(red, bold)]
Error,
Finished,
Running,
}
Display
is automatically
implemented for that enum
and can therefore be used with
println
or
format
for example:
println!("{} foo", Status::Building);
println!("{} foo", Status::Built);
println!("{} bar", Status::Compiling);
println!("{} bar", Status::Compiled);
println!("{} build of project", Status::Finished);
The result will look as follows:
Building foo
Built foo
Compiling bar
Compiled bar
Finished build of project
Planned Features
- use of
#[default_style(on_aqua, italic)]
on the derivedenum
TODO
- implement planned features
- include GIF demo in README
Derive Macros
- Turns an
enum
into an Terminal Status.