123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #compdef zerotier-cli
- #autoload
- _get_network_ids ()
- {
- if [[ "$OSTYPE" == "darwin"* ]]; then
- COMPREPLY=($(compgen -W "$(ls -1 /Library/Application\ Support/ZeroTier/One/networks.d | cut -c 1-16)" -- ${cur}))
- else
- COMPREPLY=($(compgen -W "$(ls -1 /var/lib/zerotier-one/networks.d | cut -c 1-16)" -- ${cur}))
- fi
- }
- _get_network_ids_from_history ()
- {
- COMPREPLY=($(compgen -W "$(fc -l -1000 -1 | sed -n 's/.*\([[:xdigit:]]\{16\}\).*/\1/p')" -- ${cur}))
- }
- _zerotier-cli_completions()
- {
- local cur prev
- cur=${COMP_WORDS[COMP_CWORD]}
- prev=${COMP_WORDS[COMP_CWORD-1]}
- case ${COMP_CWORD} in
- 1)
- COMPREPLY=($(compgen -W "info listpeers peers listnetworks join leave set get listmoons orbit deorbit" -- ${cur}))
- ;;
- 2)
- case ${prev} in
- leave)
- _get_network_ids
- ;;
- join)
- _get_network_ids_from_history
- ;;
- set)
- _get_network_ids
- ;;
- get)
- _get_network_ids
- ;;
- *)
- COMPREPLY=()
- ;;
- esac
- ;;
- *)
- COMPREPLY=()
- ;;
- esac
- }
- complete -F _zerotier-cli_completions zerotier-cli
|