474 lines
15 KiB
Bash
474 lines
15 KiB
Bash
|
_innernet() {
|
||
|
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
|
||
|
innernet)
|
||
|
cmd="innernet"
|
||
|
;;
|
||
|
|
||
|
add-association)
|
||
|
cmd+="__add__association"
|
||
|
;;
|
||
|
add-cidr)
|
||
|
cmd+="__add__cidr"
|
||
|
;;
|
||
|
add-peer)
|
||
|
cmd+="__add__peer"
|
||
|
;;
|
||
|
completions)
|
||
|
cmd+="__completions"
|
||
|
;;
|
||
|
delete-association)
|
||
|
cmd+="__delete__association"
|
||
|
;;
|
||
|
delete-cidr)
|
||
|
cmd+="__delete__cidr"
|
||
|
;;
|
||
|
disable-peer)
|
||
|
cmd+="__disable__peer"
|
||
|
;;
|
||
|
down)
|
||
|
cmd+="__down"
|
||
|
;;
|
||
|
enable-peer)
|
||
|
cmd+="__enable__peer"
|
||
|
;;
|
||
|
fetch)
|
||
|
cmd+="__fetch"
|
||
|
;;
|
||
|
help)
|
||
|
cmd+="__help"
|
||
|
;;
|
||
|
install)
|
||
|
cmd+="__install"
|
||
|
;;
|
||
|
list)
|
||
|
cmd+="__list"
|
||
|
;;
|
||
|
list-associations)
|
||
|
cmd+="__list__associations"
|
||
|
;;
|
||
|
override-endpoint)
|
||
|
cmd+="__override__endpoint"
|
||
|
;;
|
||
|
redeem)
|
||
|
cmd+="__redeem"
|
||
|
;;
|
||
|
set-listen-port)
|
||
|
cmd+="__set__listen__port"
|
||
|
;;
|
||
|
show)
|
||
|
cmd+="__show"
|
||
|
;;
|
||
|
uninstall)
|
||
|
cmd+="__uninstall"
|
||
|
;;
|
||
|
up)
|
||
|
cmd+="__up"
|
||
|
;;
|
||
|
*)
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
case "${cmd}" in
|
||
|
innernet)
|
||
|
opts=" -v -h -V --no-routing --help --version --backend install show up fetch uninstall down add-peer add-cidr delete-cidr disable-peer enable-peer add-association delete-association list-associations set-listen-port override-endpoint completions help redeem redeem list list"
|
||
|
if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then
|
||
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
||
|
return 0
|
||
|
fi
|
||
|
case "${prev}" in
|
||
|
|
||
|
--backend)
|
||
|
COMPREPLY=($(compgen -W "kernel userspace" -- "${cur}"))
|
||
|
return 0
|
||
|
;;
|
||
|
*)
|
||
|
COMPREPLY=()
|
||
|
;;
|
||
|
esac
|
||
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
||
|
return 0
|
||
|
;;
|
||
|
|
||
|
innernet__add__association)
|
||
|
opts=" -h -V --help --version <interface> <cidr1> <cidr2> "
|
||
|
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__add__cidr)
|
||
|
opts=" -h -V --yes --help --version --name --cidr --parent <interface> "
|
||
|
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__add__peer)
|
||
|
opts=" -h -V --auto-ip --yes --help --version --name --ip --cidr --admin --save-config --invite-expires <interface> "
|
||
|
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__completions)
|
||
|
opts=" -h -V --help --version <shell> "
|
||
|
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__delete__association)
|
||
|
opts=" -h -V --help --version <interface> "
|
||
|
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__delete__cidr)
|
||
|
opts=" -h -V --yes --help --version --name <interface> "
|
||
|
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__disable__peer)
|
||
|
opts=" -h -V --help --version <interface> "
|
||
|
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__down)
|
||
|
opts=" -h -V --help --version <interface> "
|
||
|
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__enable__peer)
|
||
|
opts=" -h -V --help --version <interface> "
|
||
|
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__fetch)
|
||
|
opts=" -h -V --no-write-hosts --help --version --hosts-path <interface> "
|
||
|
if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
|
||
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
||
|
return 0
|
||
|
fi
|
||
|
case "${prev}" in
|
||
|
|
||
|
--hosts-path)
|
||
|
COMPREPLY=($(compgen -f "${cur}"))
|
||
|
return 0
|
||
|
;;
|
||
|
*)
|
||
|
COMPREPLY=()
|
||
|
;;
|
||
|
esac
|
||
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
||
|
return 0
|
||
|
;;
|
||
|
innernet__help)
|
||
|
opts=" -h -V --help --version "
|
||
|
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__install)
|
||
|
opts=" -d -h -V --no-write-hosts --default-name --delete-invite --help --version --hosts-path --name <invite> "
|
||
|
if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
|
||
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
||
|
return 0
|
||
|
fi
|
||
|
case "${prev}" in
|
||
|
|
||
|
--hosts-path)
|
||
|
COMPREPLY=($(compgen -f "${cur}"))
|
||
|
return 0
|
||
|
;;
|
||
|
--name)
|
||
|
COMPREPLY=($(compgen -f "${cur}"))
|
||
|
return 0
|
||
|
;;
|
||
|
*)
|
||
|
COMPREPLY=()
|
||
|
;;
|
||
|
esac
|
||
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
||
|
return 0
|
||
|
;;
|
||
|
innernet__list)
|
||
|
opts=" -s -t -h -V --short --tree --help --version <interface> "
|
||
|
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__list__associations)
|
||
|
opts=" -h -V --help --version <interface> "
|
||
|
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__override__endpoint)
|
||
|
opts=" -u -h -V --unset --help --version <interface> "
|
||
|
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__redeem)
|
||
|
opts=" -d -h -V --no-write-hosts --default-name --delete-invite --help --version --hosts-path --name <invite> "
|
||
|
if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
|
||
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
||
|
return 0
|
||
|
fi
|
||
|
case "${prev}" in
|
||
|
|
||
|
--hosts-path)
|
||
|
COMPREPLY=($(compgen -f "${cur}"))
|
||
|
return 0
|
||
|
;;
|
||
|
--name)
|
||
|
COMPREPLY=($(compgen -f "${cur}"))
|
||
|
return 0
|
||
|
;;
|
||
|
*)
|
||
|
COMPREPLY=()
|
||
|
;;
|
||
|
esac
|
||
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
||
|
return 0
|
||
|
;;
|
||
|
innernet__set__listen__port)
|
||
|
opts=" -u -h -V --unset --help --version <interface> "
|
||
|
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__show)
|
||
|
opts=" -s -t -h -V --short --tree --help --version <interface> "
|
||
|
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__uninstall)
|
||
|
opts=" -h -V --help --version <interface> "
|
||
|
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__up)
|
||
|
opts=" -d -h -V --daemon --no-write-hosts --help --version --interval --hosts-path <interface> "
|
||
|
if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
|
||
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
||
|
return 0
|
||
|
fi
|
||
|
case "${prev}" in
|
||
|
|
||
|
--interval)
|
||
|
COMPREPLY=($(compgen -f "${cur}"))
|
||
|
return 0
|
||
|
;;
|
||
|
--hosts-path)
|
||
|
COMPREPLY=($(compgen -f "${cur}"))
|
||
|
return 0
|
||
|
;;
|
||
|
*)
|
||
|
COMPREPLY=()
|
||
|
;;
|
||
|
esac
|
||
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
||
|
return 0
|
||
|
;;
|
||
|
esac
|
||
|
}
|
||
|
|
||
|
complete -F _innernet -o bashdefault -o default innernet
|