use super::colors::*;
pub fn print_error(msg: &str) {
println!("{RED}{BOLD}Error:{RESET} {}", msg);
}
pub fn print_warning(msg: &str) {
println!("{YELLOW}Warning:{RESET} {}", msg);
}
pub fn print_info(msg: &str) {
println!("{CYAN}Info:{RESET} {}", msg);
}
pub fn print_worktree_created(path: &std::path::Path, branch: &str) {
println!(
"{GREEN}Worktree created:{RESET} {} (branch: {})",
path.display(),
branch
);
}
pub fn print_worktree_reused(path: &std::path::Path, branch: &str) {
println!(
"{CYAN}Worktree reused:{RESET} {} (branch: {})",
path.display(),
branch
);
}
pub fn print_worktree_context(path: &std::path::Path) {
println!("{CYAN}Working in worktree:{RESET} {}", path.display());
}
pub fn print_interrupted() {
println!();
println!("{YELLOW}Interrupted.{RESET} Run '{CYAN}autom8 resume{RESET}' to continue.");
}
pub fn print_resuming_interrupted(machine_state: &str) {
println!(
"{YELLOW}Previous run was interrupted at {BOLD}{}{RESET}{YELLOW}. Resuming...{RESET}",
machine_state
);
println!();
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_us005_print_resuming_interrupted_smoke() {
print_resuming_interrupted("RunningClaude");
print_resuming_interrupted("Reviewing");
print_resuming_interrupted("Committing");
print_resuming_interrupted("CreatingPR");
}
#[test]
fn test_us005_print_resuming_interrupted_debug_format() {
print_resuming_interrupted("Idle");
print_resuming_interrupted("Initializing");
print_resuming_interrupted("PickingStory");
print_resuming_interrupted("Failed");
}
}