diff options
| author | ZhiQiang Fan <zhiqiang.fan@huawei.com> | 2013-12-23 19:17:13 +0800 |
|---|---|---|
| committer | ZhiQiang Fan <zhiqiang.fan@huawei.com> | 2013-12-23 19:17:13 +0800 |
| commit | 5b19eae864c6a13247b6fcb72462d7828e2c5a60 (patch) | |
| tree | cb532dd3e9165b6a7d18dc535df0ae7ef4904e62 /tools | |
| parent | d663570b775bf429c9f6b183d1e7809e4d4a1b2d (diff) | |
| download | python-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_completion | 27 |
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 |
