1use irox_progress::{console::ConsoleProgressPrinter, ProgressPrinter, Task};
6use irox_time::Duration;
7
8pub fn main() -> Result<(), std::io::Error> {
9 let elements = 1000;
10
11 let prog = ConsoleProgressPrinter::new_update_rate(Duration::from_millis(100));
12 let task = Task::new(0, "Test Task".to_string(), u64::MAX);
13 prog.track_task_progress(&task);
14 task.mark_started();
15 for i in 0..elements {
16 task.mark_one_completed();
17
18 let status = format!("Phase {}", i / 100);
19 task.set_current_status(Some(status));
20
21 std::thread::sleep(std::time::Duration::from_millis(5));
22 }
23
24 Ok(())
25}