feat(emacs): add project-level neotree handling
Signed-off-by: Lucas Sta Maria <lucas@priime.dev>
This commit is contained in:
parent
5fda10d68b
commit
61eeb100f6
2 changed files with 24 additions and 5 deletions
|
@ -190,6 +190,20 @@
|
||||||
(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map)
|
(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map)
|
||||||
|
|
||||||
;; Neotree
|
;; Neotree
|
||||||
|
(defun neotree-toggle-dir-or-project ()
|
||||||
|
"By default, toggle the directory at the project level, with prefix current."
|
||||||
|
(interactive)
|
||||||
|
(if (eq current-prefix-arg nil)
|
||||||
|
(neotree-toggle-project)
|
||||||
|
(neotree-toggle-current-directory)))
|
||||||
|
|
||||||
|
(defun neotree-toggle-project ()
|
||||||
|
"Toggle neotree at the project level if the project exists, otherwise current."
|
||||||
|
(interactive)
|
||||||
|
(if (projectile-project-p)
|
||||||
|
(neotree-toggle-directory (projectile-project-root))
|
||||||
|
(neotree-toggle-current-directory)))
|
||||||
|
|
||||||
(defun neotree-toggle-current-directory ()
|
(defun neotree-toggle-current-directory ()
|
||||||
"Toggle neotree at the current directory."
|
"Toggle neotree at the current directory."
|
||||||
(interactive)
|
(interactive)
|
||||||
|
@ -198,10 +212,15 @@
|
||||||
(and (eq major-mode 'dired-mode) (dired-current-directory))
|
(and (eq major-mode 'dired-mode) (dired-current-directory))
|
||||||
(and (eq major-mode 'magit-status-mode) (magit-toplevel))
|
(and (eq major-mode 'magit-status-mode) (magit-toplevel))
|
||||||
"~")))
|
"~")))
|
||||||
(if (and (fboundp 'neo-global--window-exists-p)
|
(neotree-toggle-directory current-directory)))
|
||||||
(neo-global--window-exists-p))
|
|
||||||
(neotree-hide)
|
(defun neotree-toggle-directory (dir)
|
||||||
(neotree-dir current-directory))))
|
"Toggle neotree at the given DIR."
|
||||||
|
(if (and (fboundp 'neo-global--window-exists-p)
|
||||||
|
(neo-global--window-exists-p))
|
||||||
|
(neotree-hide)
|
||||||
|
(neotree-dir dir)))
|
||||||
|
|
||||||
|
|
||||||
;; hledger
|
;; hledger
|
||||||
(setq hledger-currency-string "$")
|
(setq hledger-currency-string "$")
|
||||||
|
|
|
@ -117,7 +117,7 @@
|
||||||
(neo-smart-open t)
|
(neo-smart-open t)
|
||||||
(neo-window-fixed-size nil)
|
(neo-window-fixed-size nil)
|
||||||
(neo-show-hidden-files t))
|
(neo-show-hidden-files t))
|
||||||
:bind (("C-c t" . #'neotree-toggle-current-directory)))
|
:bind (("C-c t" . #'neotree-toggle-dir-or-project)))
|
||||||
(use-package all-the-icons :straight t)
|
(use-package all-the-icons :straight t)
|
||||||
(use-package git-gutter :straight t
|
(use-package git-gutter :straight t
|
||||||
:hook (prog-mode . git-gutter-mode)
|
:hook (prog-mode . git-gutter-mode)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue