# shellcheck shell=dash disable=1091,2034

xrc:theme:widget pl

___x_cmd_theme_prompt_format(){
    ___x_cmd_theme_pl "$@"
}

___x_cmd_theme_pl(){
    case "$1" in
        mini)       ___x_cmd_theme_plmini "$@"  ;;
        *)          ___x_cmd_theme_plfull "$@"  ;;
    esac
}

# Section: mini layout
___x_cmd_theme_plmini(){
    XTW_cwd1_style_tail="${XTW_cwd_style_tail}"
    ___x_cmd_theme_mini
}
# EndSection

# Section: plfull layout
xrc:theme:widget msg symbol
___x_cmd_theme_plfull(){
    local x_=

    ___x_cmd_theme_headline_print

    ___x_cmd_theme_pl_left
    printf "%s "     "$X_left"

}

# EndSection

xrc:theme:widget hms username cwd vcml emoji
___x_cmd_theme_pl_left(){

    X_left=
    x_=

    XTW_hms_text_prefix=" "
    XTW_hms_text_suffix=" "
    XTW_hms_style_true="bg-${XT_PL_hms_bg} fg-${XT_PL_hms_fg}"
    XTW_hms_style_false="bg-${XT_PL_hms_bg} fg-${XT_PL_hms_fg}"
    ___x_cmd_theme_widget_hms
    [ -z "$X_hms" ] || {
        X_left="$X_hms"
        ___x_cmd_theme_widget_pl_horn "$XT_PL_hms_bg" "$XT_PL_host_bg"
        X_left="${X_left}${X_pl_horn}"
    }

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

    # username
    XTW_username_name_prefix=" "
    XTW_username_ip_suffix=" "
    XTW_username_style_name="bg-${XT_PL_host_bg} fg-${XT_PL_host_fg}"
    XTW_username_style_at="$XTW_username_style_name"
    XTW_username_style_ip="$XTW_username_style_name"
    ___x_cmd_theme_widget_username
    [ -z "$X_username" ] || {
        X_left="${X_left}${X_username}"
        ___x_cmd_theme_widget_pl_horn "$XT_PL_host_bg" "$XT_PL_cwd_vcm_bg"
        X_left="${X_left}${X_pl_horn}"
    }


    # cwd vcm
    ___x_cmd_theme_pl_cwd_vcm

}

___x_cmd_theme_pl_cwd_vcm(){
    XTW_cwd_text_prefix=" "
    XTW_cwd_text_suffix=" "
    XTW_cwd_style="bg-${XT_PL_cwd_vcm_bg} fg-${XT_PL_cwd_fg}"
    XTW_cwd_style_git="${XTW_cwd_style} bold"
    ___x_cmd_theme_widget_cwd_git
    [ -z "$X_cwd" ] || {
        X_left="${X_left}${X_cwd}"
    }

    XTW_vcml_style_clean="bg-${XT_PL_cwd_vcm_bg} fg-${XT_PL_vcm_fg}"
    XTW_vcml_style_dirty="$XTW_vcml_style_clean"
    XTW_vcml_style_left_label_clean="$XTW_vcml_style_clean"
    XTW_vcml_style_left_label_dirty="$XTW_vcml_style_clean"
    XTW_vcml_style_right_label_clean="bg-${XT_PL_cwd_vcm_bg} fg-${XT_PL_vcm_right_style_label_clean_fg}"
    XTW_vcml_style_right_label_dirty="bg-${XT_PL_cwd_vcm_bg} fg-${XT_PL_vcm_right_style_label_dirty_fg}"

    ___x_cmd_theme_widget_vcml
    if [ -n "$X_vcml" ]; then
        theme:style_ "bg-${XT_PL_cwd_vcm_bg}" "fg-${XT_PL_cwd_fg}" -- "";    X_left="${X_left}${x_}"
        X_left="${X_left}${X_vcml}"
        ___x_cmd_theme_widget_pl_horn "$XT_PL_cwd_vcm_bg"
        X_left="${X_left}${X_pl_horn}"
    else
        ___x_cmd_theme_widget_pl_horn "$XT_PL_cwd_vcm_bg"
        X_left="${X_left}${X_pl_horn}"
    fi
}

XTW_vcml_left_label_clean=" git: "
XTW_vcml_left_label_dirty=" git: "
XTW_vcml_right_label_clean=" ✔ "
XTW_vcml_right_label_dirty=' ± '

___x_cmd_theme_linecount_ps1=1
