summaryrefslogtreecommitdiffstats
path: root/lisp/init-git.el
diff options
context:
space:
mode:
authorMartin Polden <martin.polden@gmail.com>2016-02-28 21:03:37 +0100
committerMartin Polden <martin.polden@gmail.com>2016-02-28 21:03:37 +0100
commit1f94ebf06c7818239feffd4d799d7eb77f271dfd (patch)
treeb4f8840e00a84542325f6d521a9f52c438f6eb67 /lisp/init-git.el
parent280116cc9c23aaf9e7341094b7d0f8d78289fe1b (diff)
Fix o and C-o behaviour in magit-status
Diffstat (limited to 'lisp/init-git.el')
-rw-r--r--lisp/init-git.el20
1 files changed, 14 insertions, 6 deletions
diff --git a/lisp/init-git.el b/lisp/init-git.el
index 5954a53..29ac519 100644
--- a/lisp/init-git.el
+++ b/lisp/init-git.el
@@ -20,15 +20,23 @@
("C-c b" . magit-blame)
:map magit-status-mode-map
;; make C-o and o behave as in dired
- ("o" . magit-diff-visit-file)
- ("C-o" . magit-diff-visit-file-noselect))
+ ("o" . magit-diff-visit-file-other-window)
+ ("C-o" . magit-diff-visit-file-other-window-noselect))
:config
- (defun magit-diff-visit-file-noselect ()
- "Visit current item, but don't select it."
+ (defun magit-diff-visit-file-other-window (&optional noselect)
+ "Visit current file in another window."
(interactive)
- (let ((current-window (selected-window)))
+ (let ((current-window (selected-window))
+ ;; magit-diff-visit-file visits in other-window with prefix arg
+ (current-prefix-arg t))
(call-interactively 'magit-diff-visit-file)
- (select-window current-window))))
+ (when noselect
+ (select-window current-window))))
+
+ (defun magit-diff-visit-file-other-window-noselect ()
+ "Visit current file in another window, but don't select it."
+ (interactive)
+ (magit-diff-visit-file-other-window t)))
(provide 'init-git)