refactor(cli): remove deprecated stage_spinner, migrate remaining callers to v2

Phase 7 cleanup: migrate timeline.rs and main.rs search spinner
from stage_spinner() to stage_spinner_v2() with proper icon labels,
then remove the now-unused stage_spinner() function and its tests.

No external callers remain for the old numbered-stage API.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
teernisse
2026-02-14 10:10:22 -05:00
parent 8572f6cc04
commit 361757568f
4 changed files with 47 additions and 71 deletions

View File

@@ -12,26 +12,6 @@ pub fn multi() -> &'static MultiProgress {
&MULTI
}
/// Create a spinner for a numbered pipeline stage.
///
/// Returns a hidden (no-op) bar in robot mode so callers can use
/// the same code path regardless of output mode.
pub fn stage_spinner(stage: u8, total: u8, msg: &str, robot_mode: bool) -> ProgressBar {
if robot_mode {
return ProgressBar::hidden();
}
let pb = multi().add(ProgressBar::new_spinner());
pb.set_style(
ProgressStyle::default_spinner()
.template("{spinner:.blue} {prefix} {msg}")
.expect("valid template"),
);
pb.enable_steady_tick(std::time::Duration::from_millis(80));
pb.set_prefix(format!("[{stage}/{total}]"));
pb.set_message(msg.to_string());
pb
}
/// Stage spinner with icon prefix and elapsed time on the right.
///
/// Template: `{spinner:.cyan} {prefix} {wide_msg} {elapsed_style:.dim}`
@@ -176,35 +156,7 @@ mod tests {
drop(w);
}
#[test]
fn stage_spinner_robot_mode_returns_hidden() {
let pb = stage_spinner(1, 3, "Testing...", true);
assert!(pb.is_hidden());
}
#[test]
fn stage_spinner_human_mode_sets_properties() {
let pb = stage_spinner(1, 3, "Testing...", false);
assert_eq!(pb.prefix(), "[1/3]");
assert_eq!(pb.message(), "Testing...");
pb.finish_and_clear();
}
#[test]
fn stage_spinner_sets_prefix_format() {
let pb = stage_spinner(2, 5, "Working...", false);
assert_eq!(pb.prefix(), "[2/5]");
pb.finish_and_clear();
}
#[test]
fn stage_spinner_sets_message() {
let pb = stage_spinner(1, 3, "Seeding timeline...", false);
assert_eq!(pb.message(), "Seeding timeline...");
pb.finish_and_clear();
}
// ── New progress API tests ──
// ── Progress API tests ──
#[test]
fn stage_spinner_v2_robot_mode_returns_hidden() {