From: Yann Dirson <ydirson@altern.org>
To: Catalin Marinas <catalin.marinas@gmail.com>
Cc: git@vger.kernel.org
Subject: [PATCH] Teach bash to complete branch names in some places.
Date: Mon, 07 May 2007 01:13:57 +0200 [thread overview]
Message-ID: <20070506231357.31547.25929.stgit@gandelf.nowhere.earth> (raw)
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(-)
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
next reply other threads:[~2007-05-06 23:14 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-06 23:13 Yann Dirson [this message]
2007-05-07 1:11 ` [PATCH] Teach bash to complete branch names in some places Karl Hasselström
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070506231357.31547.25929.stgit@gandelf.nowhere.earth \
--to=ydirson@altern.org \
--cc=catalin.marinas@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox