;;; init-treemacs.el -*- lexical-binding: t -*- (require 'init-const) (require 'init-funcs) ;; A tree layout file explorer (use-package treemacs :commands (treemacs-follow-mode treemacs-filewatch-mode treemacs-git-mode) :custom-face (cfrs-border-color ((t (:inherit posframe-border)))) :bind (([f8] . treemacs) :map treemacs-mode-map ([mouse-1] . treemacs-single-click-expand-action)) :config (setq treemacs-collapse-dirs (if treemacs-python-executable 3 0) treemacs-missing-project-action 'remove treemacs-sorting 'alphabetic-asc treemacs-follow-after-init t treemacs-width 30 treemacs-no-png-images nil) (treemacs-follow-mode t) (treemacs-filewatch-mode t) (pcase (cons (not (null (executable-find "git"))) (not (null (executable-find "python3")))) (`(t . t) (treemacs-git-mode 'deferred)) (`(t . _) (treemacs-git-mode 'simple))) (use-package treemacs-nerd-icons :demand :custom-face (treemacs-nerd-icons-root-face ((t (:inherit nerd-icons-green :height 1.3)))) (treemacs-nerd-icons-file-face ((t (:inherit nerd-icons-dsilver)))) :config (treemacs-load-theme "nerd-icons")) (use-package treemacs-magit :after magit :autoload treemacs-magit--schedule-update :hook ((magit-post-commit git-commit-post-finish magit-post-stage magit-post-unstage) . treemacs-magit--schedule-update)) (use-package treemacs-persp :after persp-mode :demand t :functions treemacs-set-scope-type :config (treemacs-set-scope-type 'Perspectives))) (provide 'init-treemacs) ;;; init-treemacs.el ends here