# shellcheck shell=dash disable=SC3043

___x_cmd_set_var(){
    [ "$#" -gt 0 ]  || set -- ls

    local op="$1";  shift
    case "$op" in
        ls|all|key)     ___x_cmd_set_var_"$op" "$@" ;;
        --help|-h)      ___x_cmd_set_help var ;;
        *)              N=set M="No such subcmd ==> $op" log:ret:64 ;;
    esac
}

# a_b_c="a'\"'\''\"'\'''
# abc
# > "
# TODO: Handle the shell design
___x_cmd_set_var_ls(){
    [ -n "$1" ] || {
        ___x_cmd_set_var_all
        return
    }
    local prefix="${1}"
    ___x_cmd_set_var_all | LC_ALL="$___X_CMD_LOCALE_DEF_C" ___x_cmd_cmds_awk -v PREFIX="$prefix" -f "${___X_CMD_ROOT_MOD}/set/lib/var.awk"

}

___x_cmd_set_var_key(){
    local prefix="${1}"
    ___x_cmd_set_var_all | LC_ALL="$___X_CMD_LOCALE_DEF_C" ___x_cmd_cmds_awk -v TYPE=key -v PREFIX="$prefix" -f "${___X_CMD_ROOT_MOD}/set/lib/var.awk"
}


case "$___X_CMD_SHELL" in
    bash)
___x_cmd_set_var_all()(
    set -o posix
    set
)
    ;;
    *)
___x_cmd_set_var_all(){
    set
}
        ;;
esac
