All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC/PATCH] contrib: teach completion about git-worktree options and arguments
@ 2015-07-23 20:49 Eric Sunshine
  2015-08-06 16:29 ` Eric Sunshine
  0 siblings, 1 reply; 6+ messages in thread
From: Eric Sunshine @ 2015-07-23 20:49 UTC (permalink / raw)
  To: git; +Cc: Eric Sunshine

Complete subcommands 'add' and 'prune', as well as their respective
options --force, --detach, --dry-run, --verbose, and --expire. Also
complete 'refname' in "git worktree add [-b <newbranch>] <path>
<refname>".

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
---

This is RFC since this is my first foray into the Git completion script,
and there are likely better and more idiomatic ways to accomplish this.

 contrib/completion/git-completion.bash | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index c97c648..07c34ef 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -2564,6 +2564,38 @@ _git_whatchanged ()
 	_git_log
 }
 
+_git_worktree ()
+{
+	local subcommands='add prune'
+	local subcommand="$(__git_find_on_cmdline "$subcommands")"
+	local c=2 n=0 refpos=2
+	if [ -z "$subcommand" ]; then
+		__gitcomp "$subcommands"
+	else
+		case "$subcommand,$cur" in
+		add,--*)
+			__gitcomp "--force --detach"
+			;;
+		add,*)
+			while [ $c -lt $cword ]; do
+				case "${words[c]}" in
+				--*) ;;
+				-[bB]) ((refpos++)) ;;
+				*) ((n++)) ;;
+				esac
+				((c++))
+			done
+			if [ $n -eq $refpos ]; then
+				__gitcomp_nl "$(__git_refs)"
+			fi
+			;;
+		prune,--*)
+			__gitcomp "--dry-run --verbose --expire"
+			;;
+		esac
+	fi
+}
+
 __git_main ()
 {
 	local i c=1 command __git_dir
-- 
2.5.0.rc3.407.g68aafd0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-08-21 21:59 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-23 20:49 [RFC/PATCH] contrib: teach completion about git-worktree options and arguments Eric Sunshine
2015-08-06 16:29 ` Eric Sunshine
2015-08-21 17:21   ` Junio C Hamano
2015-08-21 20:49     ` SZEDER Gábor
2015-08-21 20:50       ` [PoC PATCH] completion: support 'git worktree' SZEDER Gábor
2015-08-21 21:59       ` [RFC/PATCH] contrib: teach completion about git-worktree options and arguments Eric Sunshine

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.