168f462d90
This patch add a script mistral.bash_completion which enables auto-completion of mistral CLI in bash environmnet when running: python setup.py install or python setup.py develop test: mistral [tab][tab] mistral workf[tab][tab] mistral workflow-get -[tab][tab] Change-Id: I8e25f3a90c09e6f09877d9f66cc1f8aa44d6e6f6 Implements: blueprint add-bash-completion-script
66 lines
3.4 KiB
Bash
66 lines
3.4 KiB
Bash
#!/bin/bash
|
|
|
|
_mistral()
|
|
{
|
|
declare -A SUBCOMMANDS
|
|
declare -A OPTS
|
|
|
|
OPTS["action-create"]="-h --help -f --format -c --column --max-width --quote"
|
|
OPTS["action-delete"]="-h --help"
|
|
OPTS["action-get"]="-h --help -f --format -c --column --max-width --variable --prefix"
|
|
OPTS["action-get-definition"]="-h --help"
|
|
OPTS["action-list"]="-h --help -f --format -c --column --max-width --quote"
|
|
OPTS["action-update"]="-h --help -f --format -c --column --max-width --quote"
|
|
OPTS["complete"]="-h --help --name --shell"
|
|
OPTS["cron-trigger-create"]="-h --help -f --format -c --column --max-width --variable --prefix"
|
|
OPTS["cron-trigger-delete"]="-h --help"
|
|
OPTS["cron-trigger-get"]="-h --help -f --format -c --column --max-width --variable --prefix"
|
|
OPTS["cron-trigger-list"]="-h --help -f --format -c --column --max-width --quote"
|
|
OPTS["environment-create"]="-h --help -f --format -c --column --max-width --variable --prefix"
|
|
OPTS["environment-delete"]="-h --help"
|
|
OPTS["environment-get"]="-h --help -f --format -c --column --max-width --variable --prefix"
|
|
OPTS["environment-list"]="-h --help -f --format -c --column --max-width --quote"
|
|
OPTS["environment-update"]="-h --help -f --format -c --column --max-width --variable --prefix"
|
|
OPTS["execution-create"]="-h --help -f --format -c --column --max-width --variable --prefix"
|
|
OPTS["execution-delete"]="-h --help"
|
|
OPTS["execution-get"]="-h --help -f --format -c --column --max-width --variable --prefix"
|
|
OPTS["execution-get-input"]="-h --help"
|
|
OPTS["execution-get-output"]="-h --help"
|
|
OPTS["execution-list"]="-h --help -f --format -c --column --max-width --quote"
|
|
OPTS["execution-update"]="-h --help -f --format -c --column --max-width --variable --prefix"
|
|
OPTS["help"]="-h --help"
|
|
OPTS["task-get"]="-h --help -f --format -c --column --max-width --variable --prefix"
|
|
OPTS["task-get-input"]="-h --help"
|
|
OPTS["task-get-result"]="-h --help"
|
|
OPTS["task-list"]="-h --help -f --format -c --column --max-width --quote"
|
|
OPTS["task-update"]="-h --help -f --format -c --column --max-width --variable --prefix"
|
|
OPTS["workbook-create"]="-h --help -f --format -c --column --max-width --variable --prefix"
|
|
OPTS["workbook-delete"]="-h --help"
|
|
OPTS["workbook-get"]="-h --help -f --format -c --column --max-width --variable --prefix"
|
|
OPTS["workbook-get-definition"]="-h --help"
|
|
OPTS["workbook-list"]="-h --help -f --format -c --column --max-width --quote"
|
|
OPTS["workbook-update"]="-h --help -f --format -c --column --max-width --variable --prefix"
|
|
OPTS["workflow-create"]="-h --help -f --format -c --column --max-width --quote"
|
|
OPTS["workflow-delete"]="-h --help"
|
|
OPTS["workflow-get"]="-h --help -f --format -c --column --max-width --variable --prefix"
|
|
OPTS["workflow-get-definition"]="-h --help"
|
|
OPTS["workflow-list"]="-h --help -f --format -c --column --max-width --quote"
|
|
OPTS["workflow-update"]="-h --help -f --format -c --column --max-width --quote"
|
|
|
|
COMMANDS="${!OPTS[*]}"
|
|
COMPREPLY=()
|
|
|
|
local cur="${COMP_WORDS[COMP_CWORD]}"
|
|
local prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
|
|
if [[ $cur =~ (\.|\~|\/).* ]] ; then
|
|
_filedir
|
|
elif [ $COMP_CWORD == "1" ] ; then
|
|
COMPREPLY=($(compgen -W "$COMMANDS" -- ${cur}))
|
|
elif [ $COMP_CWORD == "2" ] ; then
|
|
COMPREPLY=($(compgen -W "${OPTS[${prev}]}" -- ${cur}))
|
|
fi
|
|
return 0
|
|
}
|
|
complete -F _mistral mistral
|