`treemacs-add-and-display-current-project-exclusively' seems to confuse
some people and please others when it is used in $HOME. To reduce
confusion, SPC o p will now resume from the last session if
default-directory isn't a valid project OR if it's $HOME. It will also
emit a warning informing them of that.
Fix: #7948
Amend: f9dfb7e92a
19 lines
715 B
EmacsLisp
19 lines
715 B
EmacsLisp
;;; ui/treemacs/autoload.el -*- lexical-binding: t; -*-
|
|
|
|
;;;###autoload
|
|
(defun +treemacs/toggle ()
|
|
"Initialize or toggle treemacs.
|
|
|
|
Ensures that only the current project is present and all other projects have
|
|
been removed.
|
|
|
|
Use `treemacs' command for old functionality."
|
|
(interactive)
|
|
(require 'treemacs)
|
|
(pcase (treemacs-current-visibility)
|
|
(`visible (delete-window (treemacs-get-local-window)))
|
|
(_ (let ((project (treemacs--find-current-user-project)))
|
|
(if (and project (not (file-equal-p project "~")))
|
|
(treemacs-add-and-display-current-project-exclusively)
|
|
(message "No valid project in current buffer; opening last treemacs session")
|
|
(treemacs))))))
|