2018-06-15 03:10:55 +02:00
|
|
|
;;; ui/treemacs/autoload.el -*- lexical-binding: t; -*-
|
|
|
|
|
2018-08-29 02:04:12 +02:00
|
|
|
(defun +treemacs--init ()
|
2018-06-15 03:10:55 +02:00
|
|
|
(require 'treemacs)
|
2018-08-10 18:52:20 +02:00
|
|
|
(let ((origin-buffer (current-buffer)))
|
2020-04-08 15:29:29 -04:00
|
|
|
;; Toggle treemacs without prompting for the first project.
|
2018-08-10 18:52:20 +02:00
|
|
|
(cl-letf (((symbol-function 'treemacs-workspace->is-empty?)
|
|
|
|
(symbol-function 'ignore)))
|
|
|
|
(treemacs--init))
|
2020-04-02 21:05:49 +01:00
|
|
|
(unless (bound-and-true-p persp-mode)
|
|
|
|
(dolist (project (treemacs-workspace->projects (treemacs-current-workspace)))
|
|
|
|
(treemacs-do-remove-project-from-workspace project)))
|
2018-08-28 13:27:25 +02:00
|
|
|
(with-current-buffer origin-buffer
|
2018-09-28 23:47:36 -04:00
|
|
|
(let ((project-root (or (doom-project-root) default-directory)))
|
|
|
|
(treemacs-do-add-project-to-workspace
|
|
|
|
(treemacs--canonical-path project-root)
|
|
|
|
(doom-project-name project-root)))
|
2018-08-29 02:04:12 +02:00
|
|
|
(setq treemacs--ready-to-follow t)
|
|
|
|
(when (or treemacs-follow-after-init treemacs-follow-mode)
|
2018-08-10 18:52:20 +02:00
|
|
|
(treemacs--follow)))))
|
2018-08-29 02:04:12 +02:00
|
|
|
|
|
|
|
;;;###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)
|
2018-08-30 13:11:18 +02:00
|
|
|
(require 'treemacs)
|
2018-08-29 02:04:12 +02:00
|
|
|
(pcase (treemacs-current-visibility)
|
|
|
|
(`visible (delete-window (treemacs-get-local-window)))
|
|
|
|
(_ (+treemacs--init))))
|
|
|
|
|
|
|
|
;;;###autoload
|
|
|
|
(defun +treemacs/find-file (arg)
|
|
|
|
"Open treemacs (if necessary) and find current file."
|
|
|
|
(interactive "P")
|
|
|
|
(let ((origin-buffer (current-buffer)))
|
|
|
|
(+treemacs--init)
|
|
|
|
(with-current-buffer origin-buffer
|
|
|
|
(treemacs-find-file arg))))
|