Extract neotree from feature/evil => tools/neotree
This commit is contained in:
parent
ee1fc701b9
commit
1fd482fa51
8 changed files with 58 additions and 47 deletions
|
@ -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
|
||||||
|
|
|
@ -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))
|
|
||||||
|
|
|
@ -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)
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
7
modules/tools/neotree/README.org
Normal file
7
modules/tools/neotree/README.org
Normal 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
|
|
@ -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))
|
37
modules/tools/neotree/config.el
Normal file
37
modules/tools/neotree/config.el
Normal 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)))
|
4
modules/tools/neotree/packages.el
Normal file
4
modules/tools/neotree/packages.el
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
;; -*- no-byte-compile: t; -*-
|
||||||
|
;;; tools/neotree/packages.el
|
||||||
|
|
||||||
|
(package! neotree)
|
Loading…
Add table
Add a link
Reference in a new issue