



___x_cmd_brew_snap(){
    [ $# -gt 0 ]    ||  set -- --help

    local pkgnamelist="$___X_CMD_SNAP_APK_NAMELIST"

    while [ $# -gt 0 ]; do
        case "$1" in
            -h|--help)          ___x_cmd help -m brew snap "$@" ;;
            -n|--namelist)      [ $# -ge 2 ] || N=brew M="Please provide argument after $1" log:ret:64 ; pkgnamelist="$2"; shift 2 ;;
            *)                  break
        esac
    done

    local cmd="$1"; shift

    ___x_cmd_hascmd "$cmd" || {
        pkgnamelist="${pkgnamelist:-"$cmd"}"

        [ -w /opt/homebrew ] || {
            brew:error "You do not have permission to use brew install $pkgnamelist"
            return 1
        }

        brew:info \
            --cmd "___x_cmd_cmds brew install $pkgnamelist" \
            "command not found -> $cmd. Now try install $pkgnamelist"

        eval ___x_cmd_cmds brew install "$pkgnamelist" || {
            brew:error --next "brew install $pkgnamelist"  \
                "Fail to install $pkgnamelist. You can try it manually"
            return 1
        }
    }

    "$cmd" "$@"
}


