git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH/RFC] completion: support git blame
@ 2011-01-09 16:38 Martin von Zweigbergk
  0 siblings, 0 replies; only message in thread
From: Martin von Zweigbergk @ 2011-01-09 16:38 UTC (permalink / raw)
  To: git; +Cc: Martin von Zweigbergk

Add basic support for completion of refs with git blame.

Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
---

Maybe leave --porcelain and --incremental out since they are intended
for scripts?

blame is pretty uninteresting on untracked files. It would be nice if
to only complete files that exist in the specified commit, just like
'git show $rev:$file' does. I think this applies to some other
commands as well, like 'git checkout $rev [--] $file'. Has this been
discussed before? I didn't find anything when searching the
archives. I can imagine it might have been rejected because of
performance problems.


 contrib/completion/git-completion.bash |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 645549c..d9074ba 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1128,6 +1128,26 @@ _git_bisect ()
 	esac
 }
 
+_git_blame ()
+{
+	__git_has_doubledash && return
+
+	local cur
+	_get_comp_words_by_ref -n =: cur
+	case "$cur" in
+	--*)
+		__gitcomp "
+			--root --show-stats --reverse --encoding=
+			--contents --date --score-debug --show-name
+			--show-number --show-email
+			"
+		;;
+	*)
+		__gitcomp "$(__git_refs)"
+		;;
+	esac
+}
+
 _git_branch ()
 {
 	local i c=1 only_local_ref="n" has_r="n" cur words cword
-- 
1.7.3.2.864.gbbb96

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2011-01-09 16:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-09 16:38 [PATCH/RFC] completion: support git blame Martin von Zweigbergk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).