From dfeb65185bc1349a4b19466eb7056f28cea4f15e Mon Sep 17 00:00:00 2001 From: Steven Hardy Date: Fri, 20 Apr 2012 20:54:04 +0100 Subject: [PATCH] heat cli : Add bash_completion.d entry for heat issue #87 Adds basic bash smart-complete script for heat to bash_completion.d Signed-off-by: Steven Hardy --- etc/bash_completion.d/heat | 18 ++++++++++++++++++ setup.py | 1 + 2 files changed, 19 insertions(+) create mode 100644 etc/bash_completion.d/heat 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'])],