scud 0.3.0

A secret library atm, woo woo.
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);
}