[PATCH 10 of 11 V4] bash_completion: add global support for bookmarks and branches
Sean Farley
sean.michael.farley at gmail.com
Mon Nov 25 19:37:16 CST 2013
# HG changeset patch
# User Sean Farley <sean.michael.farley at gmail.com>
# Date 1385398743 18000
# Mon Nov 25 11:59:03 2013 -0500
# Node ID 4bc4c6db0b2a3d027a5b689452cd9cf135e17840
# Parent 8284d077161322221f0df02690107b5f70c31138
bash_completion: add global support for bookmarks and branches
Previously, only -r|--rev was parsed globally which meant 'hg push -B <tab>'
would try to complete a path instead of a bookmark. Similar error for -b for
branches. Now we tab complete bookmarks and branches globally so that this
works.
diff --git a/contrib/bash_completion b/contrib/bash_completion
--- a/contrib/bash_completion
+++ b/contrib/bash_completion
@@ -237,17 +237,26 @@
if [ "$(type -t "_hg_cmd_$cmd")" = function ]; then
"_hg_cmd_$cmd"
return 0
fi
- if [ "$cmd" != status ] && [ "$prev" = -r ] || [ "$prev" == --rev ]; then
- if [ $canonical = 1 ]; then
- _hg_labels
- return 0
- elif [[ status != "$cmd"* ]]; then
- _hg_labels
- return 0
+ if [ "$cmd" != status ]; then
+ if [[ $canonical = 1 || status != "$cmd"* ]]; then
+ case "$prev" in
+ -r|--rev)
+ _hg_labels
+ return 0
+ ;;
+ -B|--bookmark)
+ _hg_bookmarks
+ return 0
+ ;;
+ -b|--branch)
+ _hg_branches
+ return 0
+ ;;
+ esac
else
return 1
fi
fi
More information about the Mercurial-devel
mailing list