From b8ee51815ad0520b0340c2a594dee1f8de9c7c8a Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Fri, 3 Nov 2006 17:41:46 +0100 Subject: [PATCH] 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 Signed-off-by: Junio C Hamano --- contrib/emacs/git.el | 10 ++++++++++ 1 file changed, 10 insertions(+) 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)