summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorZhiQiang Fan <zhiqiang.fan@huawei.com>2013-12-23 19:17:13 +0800
committerZhiQiang Fan <zhiqiang.fan@huawei.com>2013-12-23 19:17:13 +0800
commit5b19eae864c6a13247b6fcb72462d7828e2c5a60 (patch)
treecb532dd3e9165b6a7d18dc535df0ae7ef4904e62 /tools
parentd663570b775bf429c9f6b183d1e7809e4d4a1b2d (diff)
downloadpython-ceilometerclient-5b19eae864c6a13247b6fcb72462d7828e2c5a60.tar.gz
Supports bash_completion for ceilometerclient
bash_completion feature can improve CLI user experience, projects like nova, keystone, and cinder already support it. NOTE: this patch just provides simple functionality, which means cache for IDs and names is not used (like nova). Change-Id: I1b04998a5e7c8818aed4b51f5fe5bf01efd0e14a Closes-Bug: #1260939
Diffstat (limited to 'tools')
-rw-r--r--tools/ceilometer.bash_completion27
1 files changed, 27 insertions, 0 deletions
diff --git a/tools/ceilometer.bash_completion b/tools/ceilometer.bash_completion
new file mode 100644
index 0000000..b2b48b2
--- /dev/null
+++ b/tools/ceilometer.bash_completion
@@ -0,0 +1,27 @@
+# bash completion for openstack ceilometer
+
+_ceilometer_opts="" # lazy init
+_ceilometer_flags="" # lazy init
+_ceilometer_opts_exp="" # lazy init
+_ceilometer()
+{
+ local cur prev kbc
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+
+ if [ "x$_ceilometer_opts" == "x" ] ; then
+ kbc="`ceilometer bash-completion | sed -e "s/ -h / /"`"
+ _ceilometer_opts="`echo "$kbc" | sed -e "s/--[a-z0-9_-]*//g" -e "s/[ ][ ]*/ /g"`"
+ _ceilometer_flags="`echo " $kbc" | sed -e "s/ [^-][^-][a-z0-9_-]*//g" -e "s/[ ][ ]*/ /g"`"
+ _ceilometer_opts_exp="`echo $_ceilometer_opts | sed -e "s/[ ]/|/g"`"
+ fi
+
+ if [[ " ${COMP_WORDS[@]} " =~ " "($_ceilometer_opts_exp)" " && "$prev" != "help" ]] ; then
+ COMPREPLY=($(compgen -W "${_ceilometer_flags}" -- ${cur}))
+ else
+ COMPREPLY=($(compgen -W "${_ceilometer_opts}" -- ${cur}))
+ fi
+ return 0
+}
+complete -F _ceilometer ceilometer