diff options
| author | mo8it <mo8it@proton.me> | 2024-10-14 00:42:49 +0200 |
|---|---|---|
| committer | mo8it <mo8it@proton.me> | 2024-10-14 00:42:49 +0200 |
| commit | 8cac21511cbcc148ea7a4c8c6d196c9c0bf17255 (patch) | |
| tree | dcb7de9547f73991aa917c7686ba49305bc48f4a /src/term.rs | |
| parent | 396ee4d618bc5e1cd5c84495f571f9d3f79774c8 (diff) | |
Small improvements to showing progress
Diffstat (limited to 'src/term.rs')
| -rw-r--r-- | src/term.rs | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/src/term.rs b/src/term.rs index 0294017..8a2f8c5 100644 --- a/src/term.rs +++ b/src/term.rs @@ -164,26 +164,34 @@ pub fn show_exercises_check_progress( let mut exercise_num = 1; for exercise_progress in progresses { - let color = match exercise_progress { - ExerciseCheckProgress::None => Color::Reset, - ExerciseCheckProgress::Checking => Color::Blue, - ExerciseCheckProgress::Done => Color::Green, - ExerciseCheckProgress::Pending => Color::Red, - }; - - stdout.queue(SetForegroundColor(color))?; + match exercise_progress { + ExerciseCheckProgress::None => (), + ExerciseCheckProgress::Checking => { + stdout.queue(SetForegroundColor(Color::Blue))?; + } + ExerciseCheckProgress::Done => { + stdout.queue(SetForegroundColor(Color::Green))?; + } + ExerciseCheckProgress::Pending => { + stdout.queue(SetForegroundColor(Color::Red))?; + } + } + write!(stdout, "{exercise_num:<3}")?; + stdout.queue(ResetColor)?; - if exercise_num % n_cols == 0 { - stdout.write_all(b"\n")?; - } else { - stdout.write_all(b" ")?; - } + if exercise_num != progresses.len() { + if exercise_num % n_cols == 0 { + stdout.write_all(b"\n")?; + } else { + stdout.write_all(b" ")?; + } - exercise_num += 1; + exercise_num += 1; + } } - stdout.queue(ResetColor)?.flush() + stdout.flush() } pub fn clear_terminal(stdout: &mut StdoutLock) -> io::Result<()> { |
