# shellcheck shell=dash disable=SC2034

xrc cfgy
___x_cmd_gcal_cfg(){
    [ "$#" -gt 0 ] || {
        ___x_cmd_gcal_init
        return
    }

    local op="$1"; shift
    case "$op" in
        -h|--help)      ___x_cmd help -m gcal --cfg ;;
        *)              ___x_cmd_gcal_cfg___invoke "$op" "$@" ;;
    esac
}

___x_cmd_gcal_cur(){
    local X_help_cmd=; X_help_cmd='___x_cmd help -m gcal --cur' help:arg:parse
    ___x_cmd_gcal_cfg --current "$@"
}


___X_CMD_GCAL_CFG_HIGHLIGHT=""
# "\033[35;1;7m:\033[0m:\033[34;1m:\033[0m"

___x_cmd_gcal_init(){
    local cur_type=""; local cur_cc=""; local cur_highlight="";

    if [ -f "$(___x_cmd_gcal_cur --get config)" ]; then
        ___x_cmd_gcal_cur cur_apikey:=apikey cur_model:=model cur_maxtoken:=maxtoken cur_proxy:=proxy cur_endpoint:=endpoint 2>/dev/null
    fi

    gcal:info --hint 'x gcal cc' "You can customize country code as 'auto' or be+fr. Use 'x gcal cc' to show all supported country code."
    ___x_cmd_gcal_cfg___invoke --init ${cur_apikey:+"--ctrl_exit_strategy"}     \
        cc          "Default eternal holiday list with additional country specific holidays. Default is auto."  \
                    "${cur_cc:-auto}"         '=~' "^[A-Za-z_+]+$"   --                                         \
        type        "Default form. Default is standard type like traditional cal command"                       \
                    "${cur_type:-standard}"   '='  standard special  --
        # highlight   "Default highlight code (optional)"                         \
        #             "${cur_highlight:-"$___X_CMD_GCAL_CFG_HIGHLIGHT"}"
}


___X_CMD_GCAL_CFG_VARLIST="type,cc"
___x_cmd_gcal_cfg___invoke(){
    ___x_cmd_cfgy_obj                                               \
        --prefix            ___X_CMD_OPENAI_CFG_DATA                \
        --default-config    "${___X_CMD_ROOT_CFG}/gcal/X.cfg.yml" \
        --current-config    "${___X_CMD_GCAL_LOCAL_CONFIG}"       \
        --current-profile   "${___X_CMD_GCAL_LOCAL_PROFILE}"      \
        --varlist           "$___X_CMD_GCAL_CFG_VARLIST"          \
        "$@"
}

