From b72ca793564e2da83027c7c087d8c31f7ed154cd Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 3 Jan 2017 23:04:08 -0500 Subject: [PATCH] magit: integrate with shackle and isolate to popups (experimental) --- core/core-vcs.el | 13 +++++++++++-- core/defuns/defuns-magit.el | 13 +++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 core/defuns/defuns-magit.el diff --git a/core/core-vcs.el b/core/core-vcs.el index bb9ff1c00..8768d18ab 100644 --- a/core/core-vcs.el +++ b/core/core-vcs.el @@ -52,10 +52,19 @@ (use-package magit :commands (magit-status) :config + (def-popup! "^\\*magit.+" :align below :regexp t) ;; Prevent magit + evil-snipe conflicts (add-hook 'magit-mode-hook 'turn-off-evil-snipe-override-mode) - (map! :map magit-mode-map :m "" 'magit-section-toggle) - (require 'evil-magit)) + (require 'evil-magit) + + (setq magit-display-file-buffer-function 'doom/magit-pop-to-buffer) + + (map! :map magit-mode-map + ;; Don't let Tab binding in my-bindings conflict with Tab in magit + :m "" 'magit-section-toggle + ;; Don't interfere with window movement keys + :nv "C-j" nil + :nv "C-k" nil)) (after! vc-annotate (evil-set-initial-state 'vc-annotate-mode 'normal) diff --git a/core/defuns/defuns-magit.el b/core/defuns/defuns-magit.el new file mode 100644 index 000000000..dafe90e56 --- /dev/null +++ b/core/defuns/defuns-magit.el @@ -0,0 +1,13 @@ +;;; defuns-magit.el + +;;;###autoload +(defun doom/magit-pop-to-buffer (buffer) + "Pop to buffer in non-magit buffer." + (let (pt) + (doom/popup-save + (pop-to-buffer buffer) + (setq pt (point))) + (goto-char pt))) + +(provide 'defuns-magit) +;;; defuns-magit.el ends here