use crate::output::{FileEntry, Report, Summary};
pub fn print_entry(entry: &FileEntry) {
println!("{} {}", entry.action.as_str(), entry.path);
}
pub fn print_summary(summary: &Summary) {
println!(
"\nSummary: {} created, {} updated, {} skipped, {} modified, {} missing, {} removed",
summary.created,
summary.updated,
summary.skipped,
summary.modified,
summary.missing,
summary.removed,
);
}
pub fn print_report(report: &Report) {
for entry in &report.files {
print_entry(entry);
}
print_summary(&report.summary);
}
pub fn print_install_hint(opencode_dir: &std::path::Path) {
let path_display = opencode_dir.display();
println!("\nNext steps:");
println!(" cd {path_display} && bun install");
println!(" # or: cd {path_display} && npm install");
}