From a867225eb25d8f38b8df885534b8fe822a6ebfb8 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 12 May 2016 02:54:15 -0400 Subject: [PATCH] Move neotree advice fns to defuns-neotree.el --- core/core-project.el | 33 ++++++++++++--------------------- core/defuns/defuns-neotree.el | 16 ++++++++++++++++ 2 files changed, 28 insertions(+), 21 deletions(-) diff --git a/core/core-project.el b/core/core-project.el index ffd1618ee..b578f40ec 100644 --- a/core/core-project.el +++ b/core/core-project.el @@ -91,6 +91,17 @@ neo-banner-message nil) :config (evil-set-initial-state 'neotree-mode 'motion) + + ;; A custom and simple theme for neotree + (advice-add 'neo-buffer--insert-fold-symbol :override 'narf*neo-buffer-fold-symbol) + ;; Shorter pwd in neotree + (advice-add 'neo-buffer--insert-root-entry :filter-args 'narf*neotree-shorten-pwd) + ;; Don't ask for confirmation when creating files + (advice-add 'neotree-create-node :around 'narf*neotree-create-node) + ;; Prevents messing up the neotree buffer on window changes + (advice-add 'narf--evil-window-move :around 'narf*save-neotree) + (advice-add 'narf--evil-swap-windows :around 'narf*save-neotree) + (add-hook 'neotree-mode-hook 'narf|neotree-init-keymap) (defun narf|neotree-init-keymap () (map! :map evil-motion-state-local-map @@ -109,27 +120,7 @@ "d" 'neotree-delete-node "g" 'neotree-refresh "r" 'neotree-rename-node - "R" 'neotree-change-root)) - - (defun narf*neotree-shorten-pwd (node) - "Shorter pwd in neotree" - (list (abbreviate-file-name (car node)))) - (advice-add 'neo-buffer--insert-root-entry :filter-args 'narf*neotree-shorten-pwd) - - (defun narf*neotree-create-node (orig-fun &rest args) - "Don't ask for confirmation when creating files" - (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) - - (defun narf*save-neotree (orig-fun &rest args) - "Prevents messing up the neotree buffer on window changes" - (narf/neotree-save (apply orig-fun args))) - (advice-add 'narf--evil-window-move :around 'narf*save-neotree) - (advice-add 'narf--evil-swap-windows :around 'narf*save-neotree) - - ;; A custom and simple theme for neotree - (advice-add 'neo-buffer--insert-fold-symbol :override 'narf*neo-buffer-fold-symbol)) + "R" 'neotree-change-root))) ;; (use-package projectile diff --git a/core/defuns/defuns-neotree.el b/core/defuns/defuns-neotree.el index 060996850..abac947d6 100644 --- a/core/defuns/defuns-neotree.el +++ b/core/defuns/defuns-neotree.el @@ -43,5 +43,21 @@ (and (eq name 'close) (funcall n-insert-symbol "+ ")) (and (eq name 'leaf) (funcall n-insert-symbol " "))))) +;;;###autoload +(defun narf*save-neotree (orig-fun &rest args) + "Prevents messing up the neotree buffer on window changes" + (narf/neotree-save (apply orig-fun args))) + +;;;###autoload +(defun narf*neotree-create-node (orig-fun &rest args) + "Don't ask for confirmation when creating files" + (cl-letf (((symbol-function 'yes-or-no-p) (lambda (&rest _) t))) + (apply orig-fun args))) + +;;;###autoload +(defun narf*neotree-shorten-pwd (node) + "Shorter pwd in neotree" + (list (abbreviate-file-name (car node)))) + (provide 'defuns-neotree) ;;; defuns-neotree.el ends here