summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorLibravatar Alexandre Julliard <julliard@winehq.org>2006-11-03 17:41:46 +0100
committerLibravatar Junio C Hamano <junkio@cox.net>2006-11-04 01:50:22 -0800
commitb8ee51815ad0520b0340c2a594dee1f8de9c7c8a (patch)
tree5bb23f6f265f5cd6962ebc1798e40502bf84bea1 /contrib
parentgit.el: Added functions for moving to the next/prev unmerged file. (diff)
downloadtgif-b8ee51815ad0520b0340c2a594dee1f8de9c7c8a.tar.xz
git.el: Added a function to open the current file in another window.
Bound to 'o' by default, compatible with pcl-cvs and buffer-mode. Suggested by Han-Wen Nienhuys. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'contrib')
-rw-r--r--contrib/emacs/git.el10
1 files changed, 10 insertions, 0 deletions
diff --git a/contrib/emacs/git.el b/contrib/emacs/git.el
index e283df2fdb..08d6404bcb 100644
--- a/contrib/emacs/git.el
+++ b/contrib/emacs/git.el
@@ -910,6 +910,15 @@ and returns the process output as a string."
(when (eq 'unmerged (git-fileinfo->state info))
(smerge-mode))))
+(defun git-find-file-other-window ()
+ "Visit the current file in its own buffer in another window."
+ (interactive)
+ (unless git-status (error "Not in git-status buffer."))
+ (let ((info (ewoc-data (ewoc-locate git-status))))
+ (find-file-other-window (git-fileinfo->name info))
+ (when (eq 'unmerged (git-fileinfo->state info))
+ (smerge-mode))))
+
(defun git-find-file-imerge ()
"Visit the current file in interactive merge mode."
(interactive)
@@ -994,6 +1003,7 @@ and returns the process output as a string."
(define-key map "M" 'git-mark-all)
(define-key map "n" 'git-next-file)
(define-key map "N" 'git-next-unmerged-file)
+ (define-key map "o" 'git-find-file-other-window)
(define-key map "p" 'git-prev-file)
(define-key map "P" 'git-prev-unmerged-file)
(define-key map "q" 'git-status-quit)