diff options
author | Rick Harris <rconradharris@gmail.com> | 2014-01-07 01:40:03 -0600 |
---|---|---|
committer | Rick Harris <rconradharris@gmail.com> | 2014-01-07 01:51:58 -0600 |
commit | f196ed01763aa9fe16d1bd724d00ca44fda01d49 (patch) | |
tree | 1a668c57de371819c74dd96846fcb4538c16e96a | |
parent | 2a7caa8bdb5649f1be29188b572b4f8c241ad841 (diff) | |
download | python-novaclient-f196ed01763aa9fe16d1bd724d00ca44fda01d49.tar.gz |
Fix tab-completion of --flags under OS X
--flags were not tab-completing under OS X. This was due to the whitespace
collapsing regular expression using the '+' token (meaning one-or-more), which
isn't supported in OS X's version of sed.
Using the more portable ' *' instead of '[ ]+' fixes this.
Additional cleanups
* Remove unecessary embedding of tabs in the file (nova bash-complete doesn't
emit tabs, so the regular expressions don't have to handle them)
* Restore logic to exclude -h from tab-completion (was lost in last
tab-completion cleanup)
* Add similar exclude logic for -i
Fixes bug 1266667
Change-Id: I7e1fe8382d9b5295d0bbc1cde2b89550d5a4e21c
-rw-r--r-- | tools/nova.bash_completion | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tools/nova.bash_completion b/tools/nova.bash_completion index fefa7983..3c58d349 100644 --- a/tools/nova.bash_completion +++ b/tools/nova.bash_completion @@ -9,10 +9,10 @@ _nova() prev="${COMP_WORDS[COMP_CWORD-1]}" if [ "x$_nova_opts" == "x" ] ; then - nbc="`nova bash-completion | sed -e "s/[ ]+/ /"`" - _nova_opts="`echo "$nbc" | sed -e "s/--[a-z0-9_-]*//g" -e "s/[ ]+/ /g"`" - _nova_flags="`echo " $nbc" | sed -e "s/ [^-][^-][a-z0-9_-]*//g" -e "s/[ ]+/ /g"`" - _nova_opts_exp="`echo "$_nova_opts" | sed -e "s/[ ]/|/g"`" + nbc="`nova bash-completion | sed -e "s/ *-h */ /" -e "s/ *-i */ /"`" + _nova_opts="`echo "$nbc" | sed -e "s/--[a-z0-9_-]*//g" -e "s/ */ /g"`" + _nova_flags="`echo " $nbc" | sed -e "s/ [^-][^-][a-z0-9_-]*//g" -e "s/ */ /g"`" + _nova_opts_exp="`echo "$_nova_opts" | tr ' ' '|'`" fi if [[ " ${COMP_WORDS[@]} " =~ " "($_nova_opts_exp)" " && "$prev" != "help" ]] ; then |