Simple and customiseable terminal progress bars for Rust.
The bar at 50, 75, and 100%:
shell
The spinner in 4 stages:
shell
Some title /
Some title -
Some title \
Some title |
To quickly use the default bar and spinner, you can include the prelude
:
``` rust use termprogress::prelude::*;
let mut progress = Bar::default(); // Create a new progress bar
progress.settitle("Work is being done..."); /// *does work* progress.setprogress(0.25); progress.setprogress(0.5); progress.println("Something happened"); progress.setprogress(0.75); progress.println("Almost done..."); progress.set_progress(1.0);
/// completes progress.complete(); ```
Spinner:
``` rust use termprogress::prelude::*;
let mut spinner = Spin::default(); //Create a new spinner /// does work spinner.bump(); spinner.bump(); progress.println("Something happened"); spinner.bump(); spinner.bump();
/// completes progress.complete_with("Done!"); ```
The library comes with traits for progress bars: ProgressBar
, and Spinner
.
The default implementations for these are Bar
and Spin
, but you can provide your own implementations too for more customisability
``` rust
pub fn doeswork
doeswork(&mut Bar::default()); doeswork(&mut MyBar::new()); ```
GPL'd with love <3