summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorRick Harris <rconradharris@gmail.com>2014-01-07 01:40:03 -0600
committerRick Harris <rconradharris@gmail.com>2014-01-07 01:51:58 -0600
commitf196ed01763aa9fe16d1bd724d00ca44fda01d49 (patch)
tree1a668c57de371819c74dd96846fcb4538c16e96a /tools
parent2a7caa8bdb5649f1be29188b572b4f8c241ad841 (diff)
downloadpython-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
Diffstat (limited to 'tools')
-rw-r--r--tools/nova.bash_completion8
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