| 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
 
 
  |