diff --git a/etc/bash_completion.d/heat b/etc/bash_completion.d/heat new file mode 100644 index 0000000000..0cde40606d --- /dev/null +++ b/etc/bash_completion.d/heat @@ -0,0 +1,18 @@ +_heat() +{ + local cur prev opts + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + opts=`for i in $(heat --help | grep -A100 "^Commands" | grep -B100 "^Options" | grep "^\s*[a-z]" | awk '{print $1}'); do echo $i; done` + + if [[ ${cur} == * ]]; then + if [[ ${#COMP_WORDS[@]} -gt 2 ]]; then + return 0 + else + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + fi +} +complete -F _heat heat diff --git a/setup.py b/setup.py index 8fc0690caf..1837ae02a2 100755 --- a/setup.py +++ b/setup.py @@ -95,6 +95,7 @@ setup( 'etc/heat-api-paste.ini', 'etc/heat-engine.conf', 'etc/heat-engine-paste.ini']), + ('/etc/bash_completion.d', ['etc/bash_completion.d/heat']), ('/var/log/heat', ['var/log/heat/api.log', 'var/log/heat/engine.log']), ('/var/lib/heat', ['var/lib/heat/.dummy'])],