sb_rust_library/bar.rs
1use indicatif::{ProgressBar, ProgressStyle};
2
3/// Gets defaults progress bar style.
4pub fn get_progress_bar_style() -> ProgressStyle {
5 ProgressStyle::default_bar()
6 .template("{msg} {bar:30.cyan/blue} [{eta} remaining]")
7 .progress_chars("##-")
8}
9
10/// Gets progress bar style with given message and length.
11///
12/// If `verbose` is `false`, it emits no output.
13pub fn get_progress_bar(msg: &'static str, size: u64, verbose: bool) -> ProgressBar {
14 if verbose {
15 let bar = ProgressBar::new(size).with_style(get_progress_bar_style());
16 bar.set_message(msg);
17 bar
18 } else { ProgressBar::hidden() }
19}