3 unstable releases
0.2.0 | May 30, 2023 |
---|---|
0.1.1 | May 29, 2023 |
0.1.0 | May 29, 2023 |
#226 in #status
23 downloads per month
Used in mcfn
13KB
180 lines
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
Dependencies
~305–770KB
~19K SLoC