Function: majutsu-bookmark--wash-list
majutsu-bookmark--wash-list is a natively compiled function defined in
majutsu-bookmark.el.
Signature
(majutsu-bookmark--wash-list ARGS)
Documentation
Wash structured row output into local, remote, and Git sections.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-bookmark.el
(defun majutsu-bookmark--wash-list (_args)
"Wash structured row output into local, remote, and Git sections."
(let* ((compiled (majutsu-bookmark--ensure-list-template))
(parsed (majutsu-row-read-buffer compiled))
(entries (plist-get parsed :entries))
local git remotes displayed
(inhibit-read-only t))
(majutsu-row-report-diagnostics (plist-get parsed :diagnostics))
(dolist (entry entries)
(let ((remote (majutsu-row-column entry 'remote)))
(cond ((null remote) (push entry local))
((equal remote "git") (push entry git))
(t (push entry (alist-get remote remotes nil nil #'equal))))))
(when majutsu-bookmark--list-remotes
(maphash (lambda (name _entry)
(unless (assoc name remotes)
(push (list name) remotes)))
majutsu-bookmark--list-remotes))
(setq local (nreverse local) git (nreverse git)
remotes (sort remotes (lambda (a b) (string< (car a) (car b)))))
(delete-region (point-min) (point-max))
(majutsu-bookmark--insert-list-group 'local "Local bookmarks" local compiled)
(setq displayed local)
(magit-insert-section (bookmark-group 'remote)
(magit-insert-heading "Remote bookmarks")
(dolist (group remotes)
(let ((refs (nreverse (cdr group))))
(magit-insert-section (jj-git-remote (car group))
(magit-insert-heading (majutsu-bookmark--remote-heading (car group)))
(if refs
(dolist (entry refs)
(majutsu-bookmark--insert-list-entry entry compiled))
(insert (propertize " No bookmarks\n" 'font-lock-face 'shadow))))
(setq displayed (append displayed refs))))
(insert "\n"))
(when git
(majutsu-bookmark--insert-list-group 'git "Git tracking bookmarks" git compiled)
(setq displayed (append displayed git)))
(majutsu-row-set-buffer-data compiled displayed)))