# shellcheck shell=dash disable=1091,2034
# Inspired by ohmyzsh/geoffgarside (https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#geoffgarside)

___x_cmd_theme_prompt_format(){
    ___x_cmd_theme_geoffgarside "$@"
}

# cvs
___x_cmd_theme_geoffgarside(){
    case "$1" in
        mini)       ___x_cmd_theme_elmini "$@"  ;;
        *)          ___x_cmd_theme_geoffgarsidefull "$@"  ;;
    esac
}

xrc:theme:widget msg hms username cwd vcm symbol emoji
___x_cmd_theme_geoffgarsidefull(){
    local x_;

    ___x_cmd_theme_headline_print

    local X_left

    ___x_cmd_theme_widget_hms
    [ -z "$X_hms" ] || X_left="${X_hms}"

    ___x_cmd_theme_widget_username
    [ -z "$X_username" ] || X_left="${X_left} ${X_username}"

    ___x_cmd_theme_widget_cwd_git
    [ -z "$X_cwd" ] || X_left="${X_left}:${X_cwd}"

    ___x_cmd_theme_widget_vcm
    [ -z "$X_vcm" ] || X_left="${X_left} ${X_vcm}"

    ___x_cmd_theme_widget_emoji
    ___x_cmd_theme_widget_emoji_escape_bug
    [ -z "$X_emoji" ] || X_left="${X_emoji}  ${X_left}"

    printf "%s "     "$X_left"

    ___x_cmd_theme_widget_symbol
    printf "%s "      "${X_symbol}"
}

___x_cmd_theme_widget_vcm(){
    X_vcm=""
    local x_=
    [ -z "$x_git" ] || {
        X_vcm="${x_git##*/}"
        if theme:comp:git:changed;    then
            X_vcm="${X_vcm}${XTW_vcm_label_dirty}"
        else
            X_vcm="${X_vcm}${XTW_vcm_label_clean}"
        fi
        X_vcm="${XTW_vcm_style_prefix}${X_vcm}${XTW_vcm_style_suffix}"
        theme:style_ "%${XTW_vcm_style}%" "$X_vcm";      X_vcm="${x_}"
        return
    }
}

XTW_hms_text_prefix="["
XTW_hms_text_suffix="]"

XTW_cwd_style="green"
XTW_cwd_style_git="bold green"

XTW_vcm_style="yellow"
XTW_vcm_style_prefix="git:("
XTW_vcm_style_suffix=")"
XTW_vcm_label_clean=""
XTW_vcm_label_dirty="*"

XTW_symbol="$"

___x_cmd_theme_linecount_ps1=1
