Function: majutsu-selection-render
majutsu-selection-render is a natively compiled function defined in
majutsu-selection.el.
Signature
(majutsu-selection-render &optional SESSION)
Documentation
Re-render selection overlays for the current buffer.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-selection.el
(defun majutsu-selection-render (&optional session)
"Re-render selection overlays for the current buffer."
(let* ((session (or session (transient-scope)))
(buf (and (majutsu-selection-session-p session)
(majutsu-selection-session-buffer session))))
(when (and buf (buffer-live-p buf) (boundp 'transient--suffixes))
(let ((overlays (majutsu-selection-session-overlays session))
(active-ids (make-hash-table :test 'equal)))
(dolist (obj transient--suffixes)
(when (cl-typep obj 'majutsu-selection-option)
(let ((vals (oref obj value))
(label (oref obj selection-label))
(face (oref obj selection-face)))
(when vals
(unless (listp vals) (setq vals (list vals)))
(dolist (id vals)
(let ((existing (gethash id active-ids)))
(puthash id (cons (cons (propertize (or label "") 'face face)
(car existing))
obj)
active-ids)))))))
(dolist (id (hash-table-keys overlays))
(unless (gethash id active-ids)
(delete-overlay (gethash id overlays))
(remhash id overlays)))
(maphash (lambda (id data)
(let* ((obj (cdr data))
(locate-fn (or (oref obj locate-fn)
#'majutsu-selection--locate-default)))
(majutsu-selection--render-overlay
session id (car data) locate-fn)))
active-ids)))))