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)
|
||||
|
||||
;; 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 ()
|
||||
"Toggle neotree at the current directory."
|
||||
(interactive)
|
||||
|
@ -198,10 +212,15 @@
|
|||
(and (eq major-mode 'dired-mode) (dired-current-directory))
|
||||
(and (eq major-mode 'magit-status-mode) (magit-toplevel))
|
||||
"~")))
|
||||
(if (and (fboundp 'neo-global--window-exists-p)
|
||||
(neo-global--window-exists-p))
|
||||
(neotree-hide)
|
||||
(neotree-dir current-directory))))
|
||||
(neotree-toggle-directory current-directory)))
|
||||
|
||||
(defun neotree-toggle-directory (dir)
|
||||
"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
|
||||
(setq hledger-currency-string "$")
|
||||
|
|
|
@ -117,7 +117,7 @@
|
|||
(neo-smart-open t)
|
||||
(neo-window-fixed-size nil)
|
||||
(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 git-gutter :straight t
|
||||
:hook (prog-mode . git-gutter-mode)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue