use std::io::IsTerminal;
fn use_color() -> bool {
std::io::stdout().is_terminal() && std::env::var("NO_COLOR").is_err()
}
fn log_styled(prefix: &str, color_code: &str, msg: &str) {
if use_color() {
println!("{}{}{}\x1B[0m", color_code, prefix, msg);
} else {
println!("{}{}", prefix, msg);
}
}
pub fn log_section(msg: &str) {
log_styled(" ", "\x1B[1;34m", msg);
}
pub fn log_step(msg: &str) {
log_styled(" ", "\x1B[1;36m", msg);
}
pub fn log_success(msg: &str) {
log_styled(" ", "\x1B[1;32m", msg);
}
pub fn log_warn(msg: &str) {
log_styled(" ", "\x1B[1;33m", msg);
}
pub fn log_error(msg: &str) {
log_styled(" ", "\x1B[1;33m", msg);
}
pub fn log_done(msg: &str) {
log_styled(" ", "\x1B[1;32m", msg);
}