Function: treemacs-temp-resort-current-dir
treemacs-temp-resort-current-dir is an interactive and byte-compiled
function defined in treemacs-interface.el.
Signature
(treemacs-temp-resort-current-dir &optional SORT-METHOD)
Documentation
Temporarily resort the current directory.
SORT-METHOD is a cons of a string describing the method and the actual sort
value, as returned by treemacs--sort-value-selection. SORT-METHOD will be
provided when this function is called from treemacs-resort and will be
interactively read otherwise. This way this function can be bound directly,
without the need to call treemacs-resort with a prefix arg.
Key Bindings
Source Code
;; Defined in ~/.emacs.d/elpa/treemacs-20251226.1307/treemacs-interface.el
(defun treemacs-temp-resort-current-dir (&optional sort-method)
"Temporarily resort the current directory.
SORT-METHOD is a cons of a string describing the method and the actual sort
value, as returned by `treemacs--sort-value-selection'. SORT-METHOD will be
provided when this function is called from `treemacs-resort' and will be
interactively read otherwise. This way this function can be bound directly,
without the need to call `treemacs-resort' with a prefix arg."
(interactive)
(-let* (((sort-name . sort-method) (or sort-method (treemacs--sort-value-selection)))
(treemacs-sorting sort-method))
(-if-let (btn (treemacs-current-button))
(pcase (treemacs-button-get btn :state)
('dir-node-closed
(treemacs--expand-dir-node btn)
(treemacs-log "Resorted %s with sort method '%s'."
(propertize (treemacs--get-label-of btn) 'face 'font-lock-string-face)
(propertize sort-name 'face 'font-lock-type-face)))
('dir-node-open
(treemacs--collapse-dir-node btn)
(goto-char (treemacs-button-start btn))
(treemacs--expand-dir-node btn)
(treemacs-log "Resorted %s with sort method '%s'."
(propertize (treemacs--get-label-of btn) 'face 'font-lock-string-face)
(propertize sort-name 'face 'font-lock-type-face)))
((or 'file-node-open 'file-node-closed 'tag-node-open 'tag-node-closed 'tag-node)
(let* ((parent (treemacs-button-get btn :parent)))
(while (and parent
(not (-some-> parent (treemacs-button-get :path) (file-directory-p))))
(setq parent (treemacs-button-get parent :parent)))
(if parent
(let ((line (line-number-at-pos))
(window-point (window-point)))
(goto-char (treemacs-button-start parent))
(treemacs--collapse-dir-node parent)
(goto-char (treemacs-button-start btn))
(treemacs--expand-dir-node parent)
(set-window-point (selected-window) window-point)
(with-no-warnings (goto-line line))
(treemacs-log "Resorted %s with sort method '%s'."
(propertize (treemacs--get-label-of parent) 'face 'font-lock-string-face)
(propertize sort-name 'face 'font-lock-type-face)))
;; a top level file's containing dir is root
(treemacs-without-messages (treemacs-refresh))
(treemacs-log "Resorted root directory with sort method '%s'."
(propertize sort-name 'face 'font-lock-type-face)))))))))