1use crossterm::style::Stylize;
2use std::io::{self, Write};
3
4#[allow(dead_code)]
6pub fn header(text: &str) {
7 let mut err = io::stderr().lock();
8 let rule = "─".repeat(40);
9 let _ = writeln!(err, " {}", text.cyan().bold());
10 let _ = writeln!(err, " {}", rule.dim());
11}
12
13pub fn phase_ok(text: &str) {
15 let mut err = io::stderr().lock();
16 let _ = writeln!(err, " {} {}", "✓".green().bold(), text);
17}
18
19pub fn warn(text: &str) {
21 let mut err = io::stderr().lock();
22 let _ = writeln!(err, " {} {}", "⚠".yellow().bold(), text.yellow());
23}
24
25pub fn info(text: &str) {
27 let mut err = io::stderr().lock();
28 let _ = writeln!(err, " {} {}", "ℹ".cyan(), text.dim());
29}
30
31pub fn error(text: &str) {
33 let mut err = io::stderr().lock();
34 let _ = writeln!(err, " {} {}", "✗".red().bold(), text.red());
35}