Fix the following functions might not be defined at runtime

- off-p
- shrink-path-dirs
- neo-buffer--insert-root-entry

Fix functions are not known to be defined

- shrink-root-entry
- projectile-project-root

FS #2
This commit is contained in:
Jesús 2019-01-22 18:36:08 -05:00
parent 323b9b6e01
commit 70ee129a0a
No known key found for this signature in database
GPG Key ID: F6EE7BC59A315766

View File

@ -28,59 +28,68 @@
("d" . neotree-delete-node)
("r" . neotree-rename-node)))
:config
(setq neo-create-file-auto-open nil
neo-auto-indent-point nil
neo-autorefresh t
neo-smart-open t
neo-mode-line-type 'none
neo-window-width 25
neo-show-updir-line nil
neo-theme (if (display-graphic-p) 'icons 'arrow)
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 (and (require 'neotree nil t)
(fboundp 'off-p))
(setq neo-create-file-auto-open nil
neo-auto-indent-point nil
neo-autorefresh t
neo-smart-open t
neo-mode-line-type 'none
neo-window-width 25
neo-show-updir-line nil
neo-theme (if (display-graphic-p) 'icons 'arrow)
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))
(defun shrink-root-entry (node)
"shrink-print pwd in neotree"
(insert (propertize (concat (shrink-path-dirs node) "\n") 'face `(:inherit (,neo-root-dir-face)))))
(when (and (require 'neotree nil t)
(fboundp 'shrink-path-dirs))
(insert (propertize (concat (shrink-path-dirs node) "\n") 'face `(:inherit (,neo-root-dir-face))))))
(advice-add #'neo-buffer--insert-root-entry :override #'shrink-root-entry))
(when (and (require 'neotree nil t)
(fboundp 'neo-buffer--insert-root-entry)
(fboundp 'shrink-root-entry))
(advice-add #'neo-buffer--insert-root-entry :override #'shrink-root-entry))
)
(defun neotree-project-dir-toggle ()
"Open NeoTree using the project root, using find-file-in-project or the current buffer directory."
(interactive)
(let ((project-dir
(ignore-errors
(when (and (require 'neotree nil t)
(fboundp 'projectile-project-root))
(let ((project-dir
(ignore-errors
;;; Pick one: projectile or find-file-in-project
(projectile-project-root)))
(file-name (buffer-file-name))
(neo-smart-open t))
(if (and (fboundp 'neo-global--window-exists-p)
(neo-global--window-exists-p))
(neotree-hide)
(progn
(neotree-show)
(if project-dir
(neotree-dir project-dir))
(if file-name
(neotree-find file-name))))))
(projectile-project-root)))
(file-name (buffer-file-name))
(neo-smart-open t))
(if (and (fboundp 'neo-global--window-exists-p)
(neo-global--window-exists-p))
(neotree-hide)
(progn
(neotree-show)
(if project-dir
(neotree-dir project-dir))
(if file-name
(neotree-find file-name)))))))
(provide 'init-neotree)