cdist configuration management Latest manual: https://www.cdi.st/manual/latest/ Home page: https://www.cdi.st
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

59 lines
1.6 KiB

_cdist()
{
local cur prev prevprev opts cmds projects
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
prevprev="${COMP_WORDS[COMP_CWORD-2]}"
opts="-h --help -d --debug -v --verbose -V --version"
cmds="banner shell config"
case "${prevprev}" in
shell)
case "${prev}" in
-s|--shell)
shells=$(grep -v '^#' /etc/shells)
COMPREPLY=( $(compgen -W "${shells}" -- ${cur}) )
return 0
;;
esac
;;
esac
case "${prev}" in
-*)
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
;;
banner)
opts="-h --help -d --debug -v --verbose"
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
;;
shell)
opts="-h --help -d --debug -v --verbose -s --shell"
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
;;
config)
opts="-h --help -d --debug -v --verbose \
-c --conf-dir -f --file -i --initial-manifest -n --dry-run \
-o --out-dir -p --parallel -s --sequential --remote-copy \
--remote-exec"
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
;;
*)
;;
esac
if [[ ${cur} == -* ]]; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
COMPREPLY=( $(compgen -W "${cmds}" -- ${cur}) )
return 0
}
complete -F _cdist cdist