threads / patch / 6684

patch, 2 partsbash: Complete git-remote subcommands.

Subject: [PATCH 2/2] bash: Complete git-remote subcommands.

## tl;dr

One message between Feb 5, 2007 and Feb 5, 2007. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Shawn O. Pearce· Feb 5, 2007, 04:52 UTC · lore

Completing the 3 core subcommands to git-remote, along with the names of remotes for 'show' and 'prune' (which take only existing remotes) is handy.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
---
 contrib/completion/git-completion.bash |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)
Show changes to contrib/completion/git-completion.bash +28 −0
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 5f9a34b..2387506 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -804,6 +804,32 @@ _git_config ()
 	"
 }
 
+_git_remote ()
+{
+	local i c=1 command
+	while [ $c -lt $COMP_CWORD ]; do
+		i="${COMP_WORDS[c]}"
+		case "$i" in
+		add|show|prune) command="$i"; break ;;
+		esac
+		c=$((++c))
+	done
+
+	if [ $c -eq $COMP_CWORD -a -z "$command" ]; then
+		__gitcomp "add show prune"
+		return
+	fi
+
+	case "$command" in
+	show|prune)
+		__gitcomp "$(__git_remotes)"
+		;;
+	*)
+		COMPREPLY=()
+		;;
+	esac
+}
+
 _git_reset ()
 {
 	local cur="${COMP_WORDS[COMP_CWORD]}"
@@ -883,6 +909,7 @@ _git ()
 	pull)        _git_pull ;;
 	push)        _git_push ;;
 	rebase)      _git_rebase ;;
+	remote)      _git_remote ;;
 	reset)       _git_reset ;;
 	show)        _git_show ;;
 	show-branch) _git_log ;;
@@ -925,6 +952,7 @@ complete -o default -o nospace -F _git_pull git-pull
 complete -o default -o nospace -F _git_push git-push
 complete -o default -o nospace -F _git_rebase git-rebase
 complete -o default -o nospace -F _git_config git-config
+complete -o default -o nospace -F _git_remote git-remote
 complete -o default -o nospace -F _git_reset git-reset
 complete -o default -o nospace -F _git_show git-show
 complete -o default -o nospace -F _git_log git-show-branch
-- 
1.5.0.rc3.39.gec804

← back to recent threads