loading_bar
About:
This my "Awesome" loading bar library. The loading bar is a simple progress bar that can be used to show the progress of a long running process. And different ways to advance the loading bar.
Documentation:
docs.rs Github Pages LoadingBar, TextLoadingBar, SimpleLoadingBar
Installation:
Put the following in your Cargo.toml file under [dependencies]
:
[]
= "1.1.0"
Or the following if you want to test the latest features:
[]
= { = 'https://github.com/mendelsshop/loading_bar' }
For a full example, see the example repo.
LoadingBar
You can create a progress bar with the following code:
use LoadingBar;
use ; // if you want to use the color feature
bar = new; // this creates a new loading bar with 100 steps and the default color at position 0,0
bar = new; // this creates a new loading bar with 100 steps and the green color
Note the following examples assume that you have imported the loading_bar
crate.
Show the progress of the loading bar:
bar.print; // this shows the loading bar
You can increment the progress of the loading bar with the following code:
bar.advance; // this increments the loading bar by 1 step
// takes no paramters
bar.advance_by; // this increments the loading bar by 10 steps
// takes a paramter of u16
bar.advance_by_percent; // this increments the loading bar by 100%
// takes a paramter of f32
// printsing and updating the loading bar
bar.advance_print; // this increments the loading bar by 1 step and prints the current progress (each method has a print option)
To change the color:
bar.change_color; // this changes the color of the loading bar to red
// the change_color does not immediately change the color of the loading bar, it only changes the color when the next step is incremented when you print the bar next
bar.change_color; // changes the color to white (the default color)
We can have a loading bar that that is automatically instaciated and incremented (We have no control over updating it manually):
; // this creates a new loading bar lasts 10 seconds, with a length of 50, and starts at 10 bars with the color red.
auto_run; // as above but with the default color
auto_run
We can have a loading bar that is already instaciated and then passed to a function that will increment it automatically like an auto run function:
let mut bar = new; // this creates a new loading bar with 10 steps and the red color
bar.auto_run_from; // this takes ownership of the bar and increments automatically to the end in a duration of 10 seconds
TextLoadingBar
Not documented yet.
SimpleLoadingBar
Not documented yet.
Notes:
- color documentation and source can be found at https://docs.rs/colored/2.0.0/colored/enum.Color.html.
- This uses the
crossterm
crate, so when using this crate you should understand how to use the aforementioned crate (and possibly import and use it for resseting the lines).
Credits:
-
Mendel's Shop
- (Me) for creating it. -
Ryan
- For all the bugs any typos they caught and suggestions they had.