feature/evil: refactor neotree defuns

This commit is contained in:
Henrik Lissner 2017-05-17 01:32:39 +02:00
parent 199432c0ac
commit 5416cdbe30

View file

@ -21,37 +21,34 @@
(defun +evil/neotree-collapse-or-up () (defun +evil/neotree-collapse-or-up ()
"Collapse an expanded directory node or go to the parent node." "Collapse an expanded directory node or go to the parent node."
(interactive) (interactive)
(let ((node (neo-buffer--get-filename-current-line))) (when-let (node (neo-buffer--get-filename-current-line))
(when node (if (file-directory-p node)
(if (file-directory-p node) (if (neo-buffer--expanded-node-p node)
(if (neo-buffer--expanded-node-p node) (+evil/neotree-collapse)
(+evil/neotree-collapse) (neotree-select-up-node))
(neotree-select-up-node)) (neotree-select-up-node))))
(neotree-select-up-node)))))
;;;###autoload ;;;###autoload
(defun +evil/neotree-collapse () (defun +evil/neotree-collapse ()
"Collapse a neotree node." "Collapse a neotree node."
(interactive) (interactive)
(let ((node (neo-buffer--get-filename-current-line))) (when-let (node (neo-buffer--get-filename-current-line))
(when node (when (file-directory-p node)
(when (file-directory-p node) (neo-buffer--set-expand node nil)
(neo-buffer--set-expand node nil) (neo-buffer--refresh t))
(neo-buffer--refresh t)) (when neo-auto-indent-point
(when neo-auto-indent-point (neo-point-auto-indent))))
(neo-point-auto-indent)))))
;;;###autoload ;;;###autoload
(defun +evil/neotree-expand-or-open () (defun +evil/neotree-expand-or-open ()
"Expand or open a neotree node." "Expand or open a neotree node."
(interactive) (interactive)
(let ((node (neo-buffer--get-filename-current-line))) (when-let (node (neo-buffer--get-filename-current-line))
(when node (if (file-directory-p node)
(if (file-directory-p node) (progn
(progn (neo-buffer--set-expand node t)
(neo-buffer--set-expand node t) (neo-buffer--refresh t)
(neo-buffer--refresh t) (when neo-auto-indent-point
(when neo-auto-indent-point (next-line)
(next-line) (neo-point-auto-indent)))
(neo-point-auto-indent))) (call-interactively 'neotree-enter))))
(call-interactively 'neotree-enter)))))