# shellcheck shell=dash

xrc:mod:lib     mawk        util
xrc awk

# TODO: add some ui into it
___x_cmd_mawk___main(){
    [ "$#" -gt 0 ] || {
        ___x_cmd_mawk___command "$@"
        return
    }

    awk:argparse:init
    while [ "$#" -gt 0 ]; do
        case "$1" in
            -h|--help)
                x help -m mawk >&2; return 1 ;;
        esac
        awk:argparse:handle-v-using-arg
        awk:argparse:handle
    done

    if [ -n "$AWK_CODE" ]; then
        x mkdirp "$___X_CMD_ROOT_TMP_AWK"
        local AWK_TMPFILE; AWK_TMPFILE="${___X_CMD_ROOT_TMP_AWK}/mawk.current___X_CMD_MAWK_VAR_CODE.$(x pidid vlid)"
        printf "%s\n" "$AWK_CODE" >"$AWK_TMPFILE"
        AWK_CODE=""
        AWK_ARG="$AWK_ARG -f \"\$AWK_TMPFILE\""
    fi

    ___x_cmd_awk_runinside                  \
        "$AWK_ENV_SH"                       \
        mawk        ___x_cmd_mawk___cmd     \
        "$AWK_MOD"  "$AWK_ARG"              \
        "$AWK_CODE" "$AWK_ENV_CODE"
}

