Function: treemacs-root-down
treemacs-root-down is an interactive and byte-compiled function
defined in treemacs-interface.el.
Signature
(treemacs-root-down &optional _)
Documentation
Move treemacs' root into the directory at point.
Only works with a single project in the workspace.
Key Bindings
Source Code
;; Defined in ~/.emacs.d/elpa/treemacs-20251226.1307/treemacs-interface.el
(defun treemacs-root-down (&optional _)
"Move treemacs' root into the directory at point.
Only works with a single project in the workspace."
(interactive "P")
(treemacs-block
(treemacs-error-return-if (/= 1 (length (treemacs-workspace->projects (treemacs-current-workspace))))
"Free navigation is only possible when there is but a single project in the workspace.")
(treemacs-unless-let (btn (treemacs-current-button))
(treemacs-pulse-on-failure
"There is no directory to move into here.")
(pcase (treemacs-button-get btn :state)
((or 'dir-node-open 'dir-node-closed)
(let ((new-root (treemacs-button-get btn :path))
(treemacs--no-messages t)
(treemacs-pulse-on-success nil))
(treemacs-do-remove-project-from-workspace (treemacs-project-at-point) :ignore-last-project-restriction)
(treemacs--reset-dom) ;; remove also the previous root's dom entry
(treemacs-do-add-project-to-workspace new-root (file-name-nondirectory new-root))
(treemacs-goto-file-node new-root)))
(_
(treemacs-pulse-on-failure "Button at point is not a directory."))))))