diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2024-08-08 14:54:29 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-08 13:54:29 +0000 |
commit | 6e8612f319d1475f0034e57f0145b4163a534797 (patch) | |
tree | d5c2101e45593e210d7ecfc12e06bcec9f177e33 /cli/util/progress_bar/mod.rs | |
parent | 4c56353594a53066009393cbd3b8b771f692e565 (diff) |
feat: refresh "Download" progress bar with a spinner (#24913)
This commit adds a spinner to "Download" progress bar and makes
it multiline, showing up to 4 lines of documents being downloaded.
Diffstat (limited to 'cli/util/progress_bar/mod.rs')
-rw-r--r-- | cli/util/progress_bar/mod.rs | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/cli/util/progress_bar/mod.rs b/cli/util/progress_bar/mod.rs index 6d247818d..91bf4950f 100644 --- a/cli/util/progress_bar/mod.rs +++ b/cli/util/progress_bar/mod.rs @@ -223,23 +223,23 @@ impl DrawThreadRenderer for ProgressBarInner { if state.entries.is_empty() { return String::new(); } - let preferred_entry = state + let display_entries = state .entries .iter() - .find(|e| e.percent() > 0f64) - .or_else(|| state.entries.iter().last()) - .unwrap(); + .map(|e| ProgressDataDisplayEntry { + prompt: e.prompt, + message: e.message.to_string(), + position: e.position(), + total_size: e.total_size(), + }) + .collect::<Vec<_>>(); + ProgressData { duration: state.start_time.elapsed(), terminal_width: size.cols, pending_entries: state.entries.len(), total_entries: state.total_entries, - display_entry: ProgressDataDisplayEntry { - prompt: preferred_entry.prompt, - message: preferred_entry.message.clone(), - position: preferred_entry.position(), - total_size: preferred_entry.total_size(), - }, + display_entries, percent_done: { let mut total_percent_sum = 0f64; for entry in &state.entries { @@ -273,7 +273,7 @@ impl ProgressBar { Arc::new(renderer::BarProgressBarRenderer) } ProgressBarStyle::TextOnly => { - Arc::new(renderer::TextOnlyProgressBarRenderer) + Arc::new(renderer::TextOnlyProgressBarRenderer::default()) } }), } |