Polish neotree integration

+ Smaller font in neotree window (with slightly thinner window)
+ Refactor advice naming
+ Add space-prepended buffer name to winner-boring-alist
+ Remove unnecessary advice defuns
This commit is contained in:
Henrik Lissner 2016-06-09 00:24:40 -04:00
parent 5f1cd1972f
commit 93b5cecd9d
3 changed files with 15 additions and 19 deletions

View file

@ -81,7 +81,7 @@
neo-auto-indent-point t
neo-mode-line-type 'none
neo-persist-show nil
neo-window-width 28
neo-window-width 26
neo-show-updir-line nil
neo-auto-indent-point t
neo-theme 'nerd ; fallback
@ -90,24 +90,23 @@
(evil-set-initial-state 'neotree-mode 'motion)
(add-hook 'neo-after-create-hook 'doom-hide-mode-line-mode)
;; Don't mess with neotree on wg-related window-config changes
(advice-add 'doom/undo-window-change :around 'doom*save-neotree)
(advice-add 'doom/redo-window-change :around 'doom*save-neotree)
;; A custom and simple theme for neotree
(advice-add 'neo-buffer--insert-fold-symbol :override 'doom*neo-theme)
(advice-add 'neo-buffer--insert-fold-symbol :override 'doom*neo-insert-fold-symbol)
;; Shorter pwd in neotree
(advice-add 'neo-buffer--insert-root-entry :filter-args 'doom*neotree-shorten-pwd)
(advice-add 'neo-buffer--insert-root-entry :filter-args 'doom*neo-insert-root-entry)
;; Don't ask for confirmation when creating files
(advice-add 'neotree-create-node :around 'doom*neotree-create-node)
;; Prevents messing up the neotree buffer on window changes
(advice-add 'doom/evil-window-move :around 'doom*save-neotree)
(defun doom*neotree-no-fringes ()
(set-window-fringes neo-global--window 1 0))
;; Minimize 'border' between windows (won't work in hook)
(defun doom*neotree-no-fringes () (set-window-fringes neo-global--window 1 0))
(advice-add 'neo-global--select-window :after 'doom*neotree-no-fringes)
(add-hook! neotree-mode
(set (make-local-variable 'hl-line-sticky-flag) t)
(setq line-spacing 2)
(text-scale-set -1)
(hl-line-mode +1))
(map! :map neotree-mode-map
:m "\\\\" 'evil-window-prev

View file

@ -13,7 +13,7 @@ killed by `doom/kill-unreal-buffers', or after `doom/kill-real-buffer').")
(defvar doom-ignore-buffers
'("*Messages*" "*eval*" "*Completions*" "*Compile-Log*" "*inferior-lisp*"
"*Fuzzy Completions*" "*Apropos*" "*Help*" "*cvs*" "*Buffer List*"
"*Ibuffer*" "*NeoTree*" "*NeoTree*" "*esh command on file*" "*WoMan-Log*"
"*Ibuffer*" " *NeoTree*" "*NeoTree*" "*esh command on file*" "*WoMan-Log*"
"*compilation*" "*use-package*" "*quickrun*" "*eclim: problems*"
"*Flycheck errors*" "*popwin-dummy*"
;; Helm

View file

@ -45,19 +45,16 @@
(apply orig-fun args)))
;;;###autoload
(defun doom*neotree-shorten-pwd (node)
"Shorter pwd in neotree"
(defun doom*neo-insert-root-entry (node)
"Pretty-print pwd in neotree"
(list (concat "" (projectile-project-name))))
;;;###autoload
(defun doom*neo-theme (name)
"Custom hybrid ascii theme with leading whitespace."
(let ((n-insert-symbol (lambda (n)
(neo-buffer--insert-with-face
n 'neo-expand-btn-face))))
(or (and (eq name 'open) (funcall n-insert-symbol " -  "))
(and (eq name 'close) (funcall n-insert-symbol " +  "))
(and (eq name 'leaf) (funcall n-insert-symbol " ")))))
(defun doom*neo-insert-fold-symbol (name)
"Custom hybrid unicode theme with leading whitespace."
(or (and (eq name 'open) (neo-buffer--insert-with-face " -  " 'neo-expand-btn-face))
(and (eq name 'close) (neo-buffer--insert-with-face " +  " 'neo-expand-btn-face))
(and (eq name 'leaf) (neo-buffer--insert-with-face " " 'neo-expand-btn-face))))
(provide 'defuns-neotree)
;;; defuns-neotree.el ends here