neotree: better integration

+ Improved keybinds
+ Close neotree on window move/swap (to avoid broken window configs)
+ Don't prompt for confirmation when creating files/folders
This commit is contained in:
Henrik Lissner 2016-03-01 02:00:54 -05:00
parent ad5d4171fa
commit 55d7d97500

View file

@ -94,26 +94,33 @@
(evil-set-initial-state 'neotree-mode 'motion)
(add-hook! neotree-mode 'narf|neotree-init-keymap)
(defun narf|neotree-init-keymap ()
(map! :map evil-motion-state-local-map
"ESC" 'neotree-hide
"q" 'neotree-hide
(map! (:map evil-motion-state-local-map
"ESC" 'neotree-hide
[escape] 'neotree-hide
"q" 'neotree-hide
"RET" 'neotree-enter
"J" 'neotree-select-next-sibling-node
"K" 'neotree-select-previous-sibling-node
"H" 'neotree-select-up-node
"L" 'neotree-select-down-node
"v" 'neotree-enter-vertical-split
"s" 'neotree-enter-horizontal-split
"c" 'neotree-create-node
"d" 'neotree-delete-node
"g" 'neotree-refresh
"r" 'neotree-rename-node
"R" 'neotree-change-root))
"RET" 'neotree-enter
"J" 'neotree-select-next-sibling-node
"K" 'neotree-select-previous-sibling-node
"H" 'neotree-select-up-node
"L" 'neotree-select-down-node
"v" 'neotree-enter-vertical-split
"s" 'neotree-enter-horizontal-split
"c" 'neotree-create-node
"d" 'neotree-delete-node
"g" 'neotree-refresh
"r" 'neotree-rename-node
"R" 'neotree-change-root)))
(after! projectile
(setq projectile-switch-project-action 'neotree-projectile-action))
;; Don't ask for confirmation when creating files
(defun narf*neotree-create-node (orig-fun &rest args)
(cl-letf (((symbol-function 'yes-or-no-p) (lambda (&rest _) t)))
(apply orig-fun args)))
(advice-add 'neotree-create-node :around 'narf*neotree-create-node)
;; Shorter file names for org files
(defun narf*neo-path--file-short-name (orig-fun &rest args)
(let ((file (car args)))
@ -122,6 +129,9 @@
(apply orig-fun args))))
(advice-add 'neo-path--file-short-name :around 'narf*neo-path--file-short-name)
(advice-add 'narf--evil-window-move :before 'narf|neotree-close-on-window-change)
(advice-add 'narf--evil-swap-windows :before 'narf|neotree-close-on-window-change)
;; A custom and simple theme for neotree
(advice-add 'neo-buffer--insert-fold-symbol :override 'narf*neo-buffer-fold-symbol))