
___x_cmd_go___runmain(){
    case "$1" in
        u-*)     ___x_cmd_go___runcmd_hub "$@"; return ;;
    esac
    ___x_cmd_go___runcmd "$@"
}

___x_cmd_go___runcmd_hub(){
    local ___X_CMD_GO_WHICHFILE=
    local x_=
    ___x_cmd_go___setarg_ "$@" || return
    go:debug "cmd x_ ==> $x_"
    [ -z "$x_" ] || eval "$x_"
    go:debug "Args ==> $*"
    ___x_cmd_go___runcmd run "$@"
}

___x_cmd_go___runcmd(){
    if ___x_cmd_hascmd go; then
        ___x_cmd_go___runcmd(){ ___x_cmd_cmds go "$@" ; }
    else
        ___x_cmd_go___runcmd(){
                ___x_cmd snap --run go "$@"
                }
    fi || return
    ___x_cmd_go___runcmd "$@"
}


