32 lines
		
	
	
		
			853 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
		
		
			
		
	
	
			32 lines
		
	
	
		
			853 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
|  | use std::thread;
 | ||
|  | use std::time::Duration;
 | ||
|  | 
 | ||
|  | use indicatif::{ProgressBar, ProgressIterator, ProgressStyle};
 | ||
|  | 
 | ||
|  | fn main() {
 | ||
|  |     // Default styling, attempt to use Iterator::size_hint to count input size
 | ||
|  |     for _ in (0..1000).progress() {
 | ||
|  |         // ...
 | ||
|  |         thread::sleep(Duration::from_millis(5));
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     // Provide explicit number of elements in iterator
 | ||
|  |     for _ in (0..1000).progress_count(1000) {
 | ||
|  |         // ...
 | ||
|  |         thread::sleep(Duration::from_millis(5));
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     // Provide a custom bar style
 | ||
|  |     let pb = ProgressBar::new(1000);
 | ||
|  |     pb.set_style(
 | ||
|  |         ProgressStyle::with_template(
 | ||
|  |             "{spinner:.green} [{elapsed_precise}] [{bar:40.cyan/blue}] ({pos}/{len}, ETA {eta})",
 | ||
|  |         )
 | ||
|  |         .unwrap(),
 | ||
|  |     );
 | ||
|  |     for _ in (0..1000).progress_with(pb) {
 | ||
|  |         // ...
 | ||
|  |         thread::sleep(Duration::from_millis(5));
 | ||
|  |     }
 | ||
|  | }
 |