Termprogress - Terminal progress bars
Simple and customiseable terminal progress bars for Rust.
Features
- Customiseable, has a traits system to allow for passing any type of progress bar around
- Prevents long titles from overflowing the terminal by using the terminal_size crate
- Interfaces for easily manipulating bar
How it looks
The bar at 50, 75, and 100%:
[========================= ]: 50.00% some title
[===================================== ]: 75.00% some other title
[==================================================]: 100.00% some other title
The spinner in 4 stages:
Some title /
Some title -
Some title \
Some title |
Getting started.
To quickly use the default bar and spinner, you can include the prelude
:
use *;
let mut progress = default; // Create a new progress bar
progress.set_title;
/// *does work*
progress.set_progress;
progress.set_progress;
progress.println;
progress.set_progress;
progress.println;
progress.set_progress;
/// completes
progress.complete;
Spinner:
use *;
let mut spinner = default; //Create a new spinner
/// *does work*
spinner.bump;
spinner.bump;
progress.println;
spinner.bump;
spinner.bump;
/// completes
progress.complete_with;
Traits
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
does_work;
does_work;
License
GPL'd with love <3