mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2024-12-24 15:16:40 +00:00
58 lines
1.4 KiB
Bash
58 lines
1.4 KiB
Bash
|
#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
|
||
|
|
||
|
|