#! /bin/sh

___X_CMD_ROOT="${___X_CMD_ROOT:-$HOME/.x-cmd.root}"
___x_cmdexe_main(){
    case "$0" in
        */mod/x-cmd/lib/bin/___x_cmdexe)
            ___X_CMD_ROOT_CODE="${0%/mod/x-cmd/lib/bin/___x_cmdexe}"
            . "$___X_CMD_ROOT_CODE/X"
            ;;
        *)
            # ___X_CMD_ROOT_CODE=""
            . "$HOME/.x-cmd.root/X"
            ;;
    esac
}

___X_CMDEXE_MODE=1
if [ "$1" != pkg ] || [ "$2" != exec ]; then
    ___x_cmdexe_main || exit 1
    ___x_cmd "$@"
else
    ___X_CMD_ROOT_PKG_EXEC_BINPATH="$___X_CMD_ROOT/local/data/pkg/exec"
    ___x_cmdexe_pkgexec(){
        local subcmd="$3";
        local binpath=""
        if [ -f "${___X_CMD_ROOT_PKG_EXEC_BINPATH}/${subcmd}" ]; then
            shift 3
            if read -r binpath<"${___X_CMD_ROOT_PKG_EXEC_BINPATH}/${subcmd}" && [ -x "$binpath" ]; then
                exec "$binpath" "$@"
                return
            fi
        fi
        return 1
    }

    ___x_cmdexe_pkgexec "$@" || {
        ___x_cmdexe_main || exit 1
        ___x_cmd "$@"
    }
fi
