_innernet-server() { local i cur prev opts cmds COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" cmd="" opts="" for i in ${COMP_WORDS[@]} do case "${i}" in "$1") cmd="innernet__server" ;; add-cidr) cmd+="__add__cidr" ;; add-peer) cmd+="__add__peer" ;; completions) cmd+="__completions" ;; delete-cidr) cmd+="__delete__cidr" ;; help) cmd+="__help" ;; new) cmd+="__new" ;; rename-peer) cmd+="__rename__peer" ;; serve) cmd+="__serve" ;; uninstall) cmd+="__uninstall" ;; *) ;; esac done case "${cmd}" in innernet__server) opts="-h -V -c -d --help --version --config-dir --data-dir --no-routing --backend --mtu new uninstall serve add-peer rename-peer add-cidr delete-cidr completions help" if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 fi case "${prev}" in --config-dir) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -c) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --data-dir) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -d) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --backend) COMPREPLY=($(compgen -W "kernel userspace" -- "${cur}")) return 0 ;; --mtu) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; *) COMPREPLY=() ;; esac COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; innernet__server__add__cidr) opts="-h --name --cidr --parent --yes --help " if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 fi case "${prev}" in --name) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --cidr) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --parent) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; *) COMPREPLY=() ;; esac COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; innernet__server__add__peer) opts="-h --name --ip --auto-ip --cidr --admin --yes --save-config --invite-expires --help " if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 fi case "${prev}" in --name) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --ip) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --cidr) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --admin) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --save-config) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --invite-expires) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; *) COMPREPLY=() ;; esac COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; innernet__server__completions) opts="-h --help bash elvish fish powershell zsh" if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 fi case "${prev}" in *) COMPREPLY=() ;; esac COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; innernet__server__delete__cidr) opts="-h --name --yes --help " if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 fi case "${prev}" in --name) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; *) COMPREPLY=() ;; esac COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; innernet__server__help) opts="" if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 fi case "${prev}" in *) COMPREPLY=() ;; esac COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; innernet__server__new) opts="-h --network-name --network-cidr --external-endpoint --auto-external-endpoint --listen-port --help" if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 fi case "${prev}" in --network-name) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --network-cidr) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --external-endpoint) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --listen-port) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; *) COMPREPLY=() ;; esac COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; innernet__server__rename__peer) opts="-h --name --new-name --yes --help " if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 fi case "${prev}" in --name) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --new-name) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; *) COMPREPLY=() ;; esac COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; innernet__server__serve) opts="-h --no-routing --backend --mtu --help " if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 fi case "${prev}" in --backend) COMPREPLY=($(compgen -W "kernel userspace" -- "${cur}")) return 0 ;; --mtu) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; *) COMPREPLY=() ;; esac COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; innernet__server__uninstall) opts="-h --help " if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 fi case "${prev}" in *) COMPREPLY=() ;; esac COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; esac } complete -F _innernet-server -o bashdefault -o default innernet-server