feature/evil: improve neotree popup integration

This commit is contained in:
Henrik Lissner 2017-05-16 17:39:42 +02:00
parent aeb2f23a3e
commit b679a86452
2 changed files with 19 additions and 2 deletions

View file

@ -411,7 +411,17 @@ the command buffer."
(set! :popup " *NeoTree*" :align 'left :size 25) (set! :popup " *NeoTree*" :align 'left :size 25)
(defun +evil-neotree-display-fn (buf _alist) (defun +evil-neotree-display-fn (buf _alist)
(doom-popup-buffer buf))) "Hand neotree off to shackle."
(let ((win (doom-popup-buffer buf)))
(setq neo-global--buffer (window-buffer win)
neo-global--window win)))
(defun +evil|neotree-fix-popup ()
"Repair neotree state whenever its popup state is restored. This ensures
that `doom*popup-save' won't break it."
(when (equal (buffer-name) neo-buffer-name)
(setq neo-global--window (selected-window))))
(add-hook 'doom-popup-mode-hook #'+evil|neotree-fix-popup))
(after! quickrun (after! quickrun

View file

@ -83,7 +83,14 @@
mu4e-view-mode mu4e-view-mode
org-tree-slide-mode org-tree-slide-mode
+regex-mode) +regex-mode)
#'doom-buffer-mode)) #'doom-buffer-mode)
(after! neotree
(defun +doom|neotree-fix-popup ()
"Ensure the fringe settings are maintained on popup restore."
(neo-global--when-window
(doom--neotree-no-fringes)))
(add-hook 'doom-popup-mode-hook #'+doom|neotree-fix-popup nil t)))
;; Flashes the line around the cursor after any motion command that might ;; Flashes the line around the cursor after any motion command that might