Browse Source
Just adding it to the repo, but it still needs to be dealt with during install. Probably put it in $ZT_HOME and then symlink to the proper place for the distro? searches $ZT_HOME/networks.d/ for network IDs searches HISTORY for 16 digit numbers that look like network IDs.pull/2/head
1 changed files with 57 additions and 0 deletions
@ -0,0 +1,57 @@
|
||||
#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 |
||||
|
||||
|
||||
Loading…
Reference in new issue