mirror of
https://github.com/puppetlabs/vmfloaty.git
synced 2026-01-25 21:28:40 -05:00
This commit adds a new tab completion script for zsh. It also fixes the completion script for bash to work with ABS backends.
30 lines
1 KiB
Bash
30 lines
1 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
_vmfloaty()
|
|
{
|
|
local cur prev subcommands template_subcommands hostname_subcommands
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
|
|
subcommands="delete get help list modify query revert service snapshot ssh status summary token"
|
|
template_subcommands="get ssh"
|
|
hostname_subcommands="delete modify query revert snapshot"
|
|
|
|
if [[ $cur == -* ]] ; then
|
|
# TODO: option completion
|
|
COMPREPLY=()
|
|
elif [[ $template_subcommands =~ (^| )$prev($| ) ]] ; then
|
|
if [[ -z "$_vmfloaty_avail_templates" ]] ; then
|
|
_vmfloaty_avail_templates=$(floaty list 2>/dev/null)
|
|
fi
|
|
|
|
COMPREPLY=( $(compgen -W "${_vmfloaty_avail_templates}" -- "${cur}") )
|
|
elif [[ $hostname_subcommands =~ (^| )$prev($| ) ]] ; then
|
|
_vmfloaty_active_hostnames=$(floaty list --active --hostnameonly 2>/dev/null)
|
|
COMPREPLY=( $(compgen -W "${_vmfloaty_active_hostnames}" -- "${cur}") )
|
|
else
|
|
COMPREPLY=( $(compgen -W "${subcommands}" -- "${cur}") )
|
|
fi
|
|
}
|
|
complete -F _vmfloaty floaty
|