use colored::Colorize;
pub fn log_commit_message(commit_type: String, scope: String, subject: String, body: String, breaking_changes: String, refs: String) {
let commit_message_header = "Commit Message: ".red();
let commit_message_note = "(colored output not seen in commit message)".green().italic();
let commit_type = commit_type.yellow().bold();
let left_paren = "(".black().bold();
let scope = "profile".green();
let right_paren = ")".black().bold();
let subject = subject.yellow().bold();
let body = body.italic();
let breaking_changes_header = "BREAKING CHANGE: ".red();
let breaking_changes = breaking_changes.black().italic();
let refs_header = "Refs: ".yellow();
let refs = refs.black().italic();
let mut logged_commit_message = format!("{commit_message_header}{commit_message_note}\n\n");
logged_commit_message = match scope.len() {
0 => format!("{logged_commit_message}{commit_type}: {subject}\n\n{body}"),
_ => format!("{logged_commit_message}{commit_type}{left_paren}{scope}{right_paren}: {subject}\n\n{body}"),
};
logged_commit_message = match breaking_changes.len() {
0 => logged_commit_message,
_ => format!("{logged_commit_message}\n\n{breaking_changes_header}{breaking_changes}"),
};
logged_commit_message = match refs.len() {
0 => logged_commit_message,
_ => format!("{logged_commit_message}\n\n{refs_header}{refs}"),
};
println!("{}", logged_commit_message);
}