# shellcheck shell=dash

# IMPORTANT: show people in advise how to shutdown the analytics

___x_cmd log init brew
xrc mirror
xrc:mod:lib     brew        ls util envfile/_index __xmirror/_index __xproxy analytics/_index install snap

___x_cmd_brew___main(){
    [ $# -gt 0 ]    ||  set - la

    local op="$1";      shift
    case "$op" in
        -h|--help)  ___x_cmd help -m brew   "$@"; return ;;
    esac

    ___x_cmd hascmd brew   ||  {
        brew:warn "brew is not installed."
        return 1
    }

    case "$op" in
        i|install)          ___x_cmd_brew___exec install    "$@" ;;
        ls)                 ___x_cmd_brew_ls                "$@" ;;
        la)                 ___x_cmd_brew_ls -a             "$@" ;;

        mirror|--xmirror)   ___x_cmd_brew___mirror          "$@" ;;
        proxy|--xproxy)     ___x_cmd_brew___xproxy          "$@" ;;
        a|analytics)        ___x_cmd_brew_analytics         "$@" ;;
        # nv)                 ___x_cmd_brew___nv              "$@" ;;
        # fz)                 ___x_cmd_brew___fz              "$@" ;;
        --fzdata)           ___x_cmd_brew___fz_data         "$@" ;;

        snap)               ___x_cmd_brew_snap              "$@" ;;

        --)                 ___x_cmd_brew___exec            "$@" ;;

        search|info|update|upgrade|uninstall|list|config|doctor|create|edit|help)
                            ___x_cmd_brew___exec    "$op"   "$@" ;;

        *)                  ___x_cmd_brew_snap      "$op"   "$@" ;;
    esac
}

___x_cmd_brew___exec(){
    ___x_cmd_brew___xproxy run ___x_cmd_cmds brew "$@"
}
