Enable treemacs workspace/persp support

With https://github.com/Alexander-Miller/treemacs/issues/592 merged,
treemacs now fully supports perspective mode. That is, each treemacs
buffer is scoped to a perspective and initializes itself using projectile.

This change re-enables treemacs-persp, enables the `Perspectives` scope,
and adjusts the doom treemacs init behavior to support the new
treemacs-persp behavior.

I haven't been able to reproduce the prior errors with melpa so I think
this is safe to re-enable now. In my testing it seems to work
flawlessly, both with and without persp-mode enabled.

Only one issue is that users might need to remove their treemacs persist
file (`~/.emacs.d/.local/cache/treemacs-persist`) after this change if
using persp-mode. I'm not sure if it is necessary since I blew away my
own before testing.
This commit is contained in:
James Ravn 2020-04-02 21:05:49 +01:00
parent 378cab0c16
commit e05e452528
No known key found for this signature in database
GPG key ID: 52C372C72159D6EE
3 changed files with 10 additions and 2 deletions

View file

@ -6,8 +6,9 @@
(cl-letf (((symbol-function 'treemacs-workspace->is-empty?) (cl-letf (((symbol-function 'treemacs-workspace->is-empty?)
(symbol-function 'ignore))) (symbol-function 'ignore)))
(treemacs--init)) (treemacs--init))
(dolist (project (treemacs-workspace->projects (treemacs-current-workspace))) (unless (bound-and-true-p persp-mode)
(treemacs-do-remove-project-from-workspace project)) (dolist (project (treemacs-workspace->projects (treemacs-current-workspace)))
(treemacs-do-remove-project-from-workspace project)))
(with-current-buffer origin-buffer (with-current-buffer origin-buffer
(let ((project-root (or (doom-project-root) default-directory))) (let ((project-root (or (doom-project-root) default-directory)))
(treemacs-do-add-project-to-workspace (treemacs-do-add-project-to-workspace

View file

@ -66,3 +66,8 @@ This must be set before `treemacs' has loaded.")
(use-package! treemacs-magit (use-package! treemacs-magit
:when (featurep! :tools magit) :when (featurep! :tools magit)
:after treemacs magit) :after treemacs magit)
(use-package! treemacs-persp
:when (featurep! :ui workspaces)
:after (treemacs persp-mode)
:config (treemacs-set-scope-type 'Perspectives))

View file

@ -7,3 +7,5 @@
(package! treemacs-projectile) (package! treemacs-projectile)
(when (featurep! :tools magit) (when (featurep! :tools magit)
(package! treemacs-magit)) (package! treemacs-magit))
(when (featurep! :ui workspaces)
(package! treemacs-persp))