Function: treemacs-move-project-up
treemacs-move-project-up is an interactive and byte-compiled function
defined in treemacs-interface.el.
Signature
(treemacs-move-project-up)
Documentation
Switch position of the project at point and the one above it.
Key Bindings
Source Code
;; Defined in ~/.emacs.d/elpa/treemacs-20251226.1307/treemacs-interface.el
(defun treemacs-move-project-up ()
"Switch position of the project at point and the one above it."
(interactive)
(treemacs-block
(let* ((workspace (treemacs-current-workspace))
(projects (treemacs-workspace->projects workspace))
(project1 (treemacs-project-at-point))
(index1 (or (treemacs-error-return-if (null project1)
"There is nothing to move here.")
(-elem-index project1 projects)))
(index2 (1- index1))
(project2 (or (treemacs-error-return-if (> 0 index2)
"There is no project to switch places with above.")
(nth index2 projects)))
(bounds1 (treemacs--get-bounds-of-project project1))
(bounds2 (treemacs--get-bounds-of-project project2)))
(treemacs-with-writable-buffer
(transpose-regions
(car bounds1) (cdr bounds1)
(car bounds2) (cdr bounds2)))
(setf (nth index1 projects) project2
(nth index2 projects) project1)
(treemacs--persist)
(recenter))))