threads / patch / 8008

patchTeach bash to complete branch names in some places.

Subject: [PATCH] Teach bash to complete branch names in some places.

## tl;dr

2 messages between May 6, 2007 and May 7, 2007. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Yann Dirson· May 6, 2007, 23:13 UTC · lore

This patch causes bash completion to look for branch names instead of patch names for "branch" and "rebase".

Unfortunately, the current completion framework does not seem flexible enough to get branch completion after "-b" flags, but I feel things are already better this way.

Signed-off-by: Yann Dirson <ydirson@altern.org>
---
 contrib/stgit-completion.bash |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
Show changes to contrib/stgit-completion.bash +14 −0
diff --git a/contrib/stgit-completion.bash b/contrib/stgit-completion.bash
index 760fc2f..d497098 100644
--- a/contrib/stgit-completion.bash
+++ b/contrib/stgit-completion.bash
@@ -98,6 +98,12 @@ _all_other_patches ()
         | grep -v "^$(cat $g/patches/$b/current 2> /dev/null)$"
 }
 
+_all_branches ()
+{
+    local g=$(_gitdir)
+    [ "$g" ] && (cd .git/patches/ && echo *)
+}
+
 # List the command options
 _cmd_options ()
 {
@@ -137,6 +143,11 @@ _complete_patch_range_options ()
     COMPREPLY=($(compgen -W "$options" -- "$cur"))
 }
 
+_complete_branch ()
+{
+     COMPREPLY=($(compgen -W "$(_cmd_options $1) $($2)" -- "${COMP_WORDS[COMP_CWORD]}"))
+}
+
 # Generate completions for options from the given list.
 _complete_options ()
 {
@@ -211,6 +222,9 @@ _stg ()
         sync)   _stg_patches $command _applied_patches ;;
         # working-copy commands
         diff)   _stg_patches_options $command _applied_patches "-r --range" ;;
+	# commands that usually raher accept branches
+	branch) _complete_branch $command _all_branches ;;
+	rebase) _complete_branch $command _all_branches ;;
         # all the other commands
         *)      _stg_common $command ;;
     esac
Karl Hasselström· May 7, 2007, 01:11 UTC · re: Yann Dirson · lore

Re: [PATCH] Teach bash to complete branch names in some places.

On 2007-05-07 01:13:57 +0200, Yann Dirson wrote:
> Unfortunately, the current completion framework does not seem
> flexible enough to get branch completion after "-b" flags, but I
> feel things are already better this way.

Perhaps another round of stealing stuff from git's bash completion is in order?

-- 
Karl Hasselström, kha@treskal.com
      www.treskal.com/kalle

← back to recent threads