ui/treemacs: refactor & activate treemacs-git-mode

This commit is contained in:
Henrik Lissner 2020-02-25 22:27:29 -05:00
parent f426623e4b
commit 4c0751ca75
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -1,19 +1,48 @@
;;; ui/treemacs/config.el -*- lexical-binding: t; -*-
(setq treemacs-follow-after-init t
treemacs-is-never-other-window t
treemacs-sorting 'alphabetic-case-insensitive-asc
treemacs-persist-file (concat doom-cache-dir "treemacs-persist")
treemacs-last-error-persist-file (concat doom-cache-dir "treemacs-last-error-persist"))
(defvar +treemacs-git-mode 'simple
"Type of git integration for `treemacs-git-mode'.
There are 3 possible values:
1) `simple', which highlights only files based on their git status, and is
slightly faster,
2) `extended', which highlights both files and directories, but requires
python,
3) `deferred', same as extended, but highlights asynchronously.
This must be set before `treemacs' has loaded.")
(after! treemacs
;;
;;; Packages
(use-package! treemacs
:defer t
:init
(setq treemacs-follow-after-init t
treemacs-is-never-other-window t
treemacs-sorting 'alphabetic-case-insensitive-asc
treemacs-persist-file (concat doom-cache-dir "treemacs-persist")
treemacs-last-error-persist-file (concat doom-cache-dir "treemacs-last-error-persist"))
:config
;; Allow ace-window to target treemacs windows
(after! ace-window
(delq! 'treemacs-mode aw-ignored-buffers))
;; Don't follow the cursor
(treemacs-follow-mode -1)
;; Allow ace-window to target treemacs windows
(after! ace-window
(delq! 'treemacs-mode aw-ignored-buffers)))
(when +treemacs-git-mode
;; If they aren't supported, fall back to simpler methods
(when (and (memq +treemacs-git-mode '(deferred extended))
(not (executable-find "python3")))
(setq +treemacs-git-mode 'simple))
(treemacs-git-mode +treemacs-git-mode)
(setq treemacs-collapse-dirs
(if (memq treemacs-git-mode '(extended deferred))
3
0))))
(use-package! treemacs-evil