Extract neotree from feature/evil => tools/neotree

This commit is contained in:
Henrik Lissner 2017-06-05 00:32:35 +02:00
parent ee1fc701b9
commit 1fd482fa51
8 changed files with 58 additions and 47 deletions

View file

@ -61,6 +61,7 @@
eshell ; a consistent, cross-platform shell (WIP) eshell ; a consistent, cross-platform shell (WIP)
gist ; interacting with github gists gist ; interacting with github gists
macos ; macos-specific commands macos ; macos-specific commands
neotree ; a project drawer, like NERDTree for vim
rotate-text ; cycle region at point between text candidates rotate-text ; cycle region at point between text candidates
term ; terminals in Emacs term ; terminals in Emacs
tmux ; an API for interacting with tmux tmux ; an API for interacting with tmux

View file

@ -409,40 +409,3 @@ the new algorithm is confusing, like in python or ruby."
(global-evil-visualstar-mode 1)) (global-evil-visualstar-mode 1))
;; A side-panel for browsing my project files. Inspired by vim's NERDTree. Sure,
;; there's dired and projectile, but sometimes I'd like a bird's eye view of a
;; project.
(def-package! neotree
:commands (neotree-show
neotree-hide
neotree-toggle
neotree-dir
neotree-find
neo-global--with-buffer
neo-global--window-exists-p)
:config
(setq neo-create-file-auto-open nil
neo-auto-indent-point nil
neo-autorefresh nil
neo-mode-line-type 'none
neo-window-width 25
neo-show-updir-line nil
neo-theme 'nerd ; fallback
neo-banner-message nil
neo-confirm-create-file #'off-p
neo-confirm-create-directory #'off-p
neo-show-hidden-files nil
neo-keymap-style 'concise
neo-hidden-regexp-list
'(;; vcs folders
"^\\.\\(git\\|hg\\|svn\\)$"
;; compiled files
"\\.\\(pyc\\|o\\|elc\\|lock\\|css.map\\)$"
;; generated files, caches or local pkgs
"^\\(node_modules\\|vendor\\|.\\(project\\|cask\\|yardoc\\|sass-cache\\)\\)$"
;; org-mode folders
"^\\.\\(sync\\|export\\|attach\\)$"
"~$"
"^#.*#$"))
(push neo-buffer-name winner-boring-buffers))

View file

@ -18,4 +18,3 @@
(package! evil-surround) (package! evil-surround)
(package! evil-vimish-fold) (package! evil-vimish-fold)
(package! evil-visualstar) (package! evil-visualstar)
(package! neotree)

View file

@ -224,7 +224,7 @@
:desc "Debugger" :n "d" #'+debug/open :desc "Debugger" :n "d" #'+debug/open
:desc "REPL" :n "r" #'+eval/repl :desc "REPL" :n "r" #'+eval/repl
:v "r" #'+eval:repl :v "r" #'+eval:repl
:desc "Neotree" :n "n" #'+evil/neotree :desc "Neotree" :n "n" #'+neotree/open
:desc "Terminal" :n "t" #'+term/popup :desc "Terminal" :n "t" #'+term/popup
:desc "Terminal in project" :n "T" #'+term/popup-in-project :desc "Terminal in project" :n "T" #'+term/popup-in-project
@ -519,8 +519,8 @@
:n "k" #'neotree-previous-line :n "k" #'neotree-previous-line
:n "n" #'neotree-next-line :n "n" #'neotree-next-line
:n "p" #'neotree-previous-line :n "p" #'neotree-previous-line
:n "h" #'+evil/neotree-collapse-or-up :n "h" #'+neotree/collapse-or-up
:n "l" #'+evil/neotree-expand-or-open :n "l" #'+neotree/expand-or-open
:n "J" #'neotree-select-next-sibling-node :n "J" #'neotree-select-next-sibling-node
:n "K" #'neotree-select-previous-sibling-node :n "K" #'neotree-select-previous-sibling-node
:n "H" #'neotree-select-up-node :n "H" #'neotree-select-up-node

View file

@ -0,0 +1,7 @@
* :evil neotree
This module brings a side panel for browsing project files, inspired by vim's NERDTree.
#+begin_quote
Sure, there's dired and projectile, but sometimes I'd like a bird's eye view of a project.
#+end_quote

View file

@ -1,7 +1,7 @@
;;; feature/evil/autoload/neotree.el ;;; tools/neotree/autoload.el
;;;###autoload ;;;###autoload
(defun +evil/neotree () (defun +neotree/toggle ()
"Toggle the neotree window." "Toggle the neotree window."
(interactive) (interactive)
(let ((in-neotree (and (neo-global--window-exists-p) (let ((in-neotree (and (neo-global--window-exists-p)
@ -18,18 +18,18 @@
(neotree-find path project-root))))) (neotree-find path project-root)))))
;;;###autoload ;;;###autoload
(defun +evil/neotree-collapse-or-up () (defun +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)
(when-let (node (neo-buffer--get-filename-current-line)) (when-let (node (neo-buffer--get-filename-current-line))
(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) (+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 +neotree/collapse ()
"Collapse a neotree node." "Collapse a neotree node."
(interactive) (interactive)
(when-let (node (neo-buffer--get-filename-current-line)) (when-let (node (neo-buffer--get-filename-current-line))
@ -40,7 +40,7 @@
(neo-point-auto-indent)))) (neo-point-auto-indent))))
;;;###autoload ;;;###autoload
(defun +evil/neotree-expand-or-open () (defun +neotree/expand-or-open ()
"Expand or open a neotree node." "Expand or open a neotree node."
(interactive) (interactive)
(when-let (node (neo-buffer--get-filename-current-line)) (when-let (node (neo-buffer--get-filename-current-line))

View file

@ -0,0 +1,37 @@
;;; tools/neotree/config.el
(def-package! neotree
:commands (neotree-show
neotree-hide
neotree-toggle
neotree-dir
neotree-find
neo-global--with-buffer
neo-global--window-exists-p)
:config
(setq neo-create-file-auto-open nil
neo-auto-indent-point nil
neo-autorefresh nil
neo-mode-line-type 'none
neo-window-width 25
neo-show-updir-line nil
neo-theme 'nerd ; fallback
neo-banner-message nil
neo-confirm-create-file #'off-p
neo-confirm-create-directory #'off-p
neo-show-hidden-files nil
neo-keymap-style 'concise
neo-hidden-regexp-list
'(;; vcs folders
"^\\.\\(git\\|hg\\|svn\\)$"
;; compiled files
"\\.\\(pyc\\|o\\|elc\\|lock\\|css.map\\)$"
;; generated files, caches or local pkgs
"^\\(node_modules\\|vendor\\|.\\(project\\|cask\\|yardoc\\|sass-cache\\)\\)$"
;; org-mode folders
"^\\.\\(sync\\|export\\|attach\\)$"
"~$"
"^#.*#$"))
(when (bound-and-true-p winner-mode)
(push neo-buffer-name winner-boring-buffers)))

View file

@ -0,0 +1,4 @@
;; -*- no-byte-compile: t; -*-
;;; tools/neotree/packages.el
(package! neotree)