# shellcheck shell=dash disable=SC2034

# variable-a, description, current-value(might be wrong), default-value(must be correct, or ""), regex/rule using param style, "adv:arr:aa bb cc dd ee"
___x_cmd_tui_form(){
    local X_help_cmd=; X_help_cmd='x help -m tui form' help:arg-null:parse
    local ___X_CMD_TUI_FORM_CTRL_EXIT_STRATEGY=
    local ___X_CMD_TUI_FORM_RETURN_STYLE="var"
    while [ "$#" -gt 0 ]; do
        case "$1" in
            --ctrl_exit_strategy)
                        ___X_CMD_TUI_FORM_CTRL_EXIT_STRATEGY=1 ; shift ;;
            --return)   ___X_CMD_TUI_FORM_RETURN_STYLE="$2"
                        [ -n "$2" ] || N=tui M="Please provide the return style, [var|print]" log:ret:64
                        shift 2
                        ;;
            *)          break ;;
        esac
    done
    local IFS="$___X_CMD_UNSEENCHAR_NEWLINE"
    ___X_CMD_TUI_FORM_RETURN_STYLE="$___X_CMD_TUI_FORM_RETURN_STYLE" \
    ___X_CMD_TUI_FORM_CTRL_EXIT_STRATEGY="$___X_CMD_TUI_FORM_CTRL_EXIT_STRATEGY" \
    ___X_CMD_TUI_FORM_ARGSTR="${___X_CMD_TUI_FORM_ARGSTR:-"$*"}" \
    ___x_cmd tui bigapp --clear-on-exit \
        -f "$___X_CMD_ROOT_MOD/tui/lib/eg.comp/form.comp.awk"
}

# x tui form \
#         id   "Id for repo" 123123a '=~' '^[0-9]+$' -- \
#         name "name for repo" x-cmd/x-cmd '=~' '^[/A-Za-z0-9_-]+$' -- \
#         visibility "Visibility for repo"  "" = private pubic

