# shellcheck shell=dash
# setting default language model
# setting default style

xrc cfgy
___x_cmd_writer_cfg(){
    [ "$#" -gt 0 ] || {
        writer:info "x chat init"
        ___x_cmd chat --cfg  || return
        ___x_cmd_writer_init
        return
    }

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

___x_cmd_writer_cur(){
    local op="$1"; shift
    case "$op" in
        -h|--help)     ___x_cmd help -m writer --cfg ;;
        *)             ___x_cmd_writer_cfg --current "$op" "$@" ;;
    esac
}

___x_cmd_writer_init(){
    local cur_style=;
    if [ -f "$(___x_cmd_writer_cur --get config)" ]; then
        ___x_cmd_writer_cur cur_style:=style
    fi


    ___x_cmd_writer_cfg___invoke --init ${cur_apikey:+"--ctrl_exit_strategy"}                \
        style       "Set the output style"           "${cur_style:-"$___X_CMD_WRITER_DEFAULT_OUTPUT_STYLE"}"       \
                        '='     'Narrative Style' 'Descriptive Style'                        \
                                'Expository Style' 'Argumentative Style'                     \
                                'Illustrative Style' 'Lyrical Style' 'Technical Style'
}



___X_CMD_WRITER_CFG_VARLIST="style"
___x_cmd_writer_cfg___invoke(){
    ___x_cmd_cfgy_obj                                               \
        --prefix            ___X_CMD_WRITER_CFG_DATA                \
        --default-config    "${___X_CMD_ROOT_CFG}/writer/X.cfg.yml" \
        --current-config    "${___X_CMD_WRITER_LOCAL_CONFIG}"       \
        --current-profile   "${___X_CMD_WRITER_LOCAL_PROFILE}"      \
        --varlist           "$___X_CMD_WRITER_CFG_VARLIST"          \
        "$@"
}

