Function: embark-live
embark-live is an autoloaded, interactive and byte-compiled function
defined in embark.el.
Signature
(embark-live)
Documentation
Create a live-updating Embark Collect buffer.
To control the display, add an entry to display-buffer-alist
with key "Embark Live".
Key Bindings
Source Code
;; Defined in ~/.emacs.d/elpa/embark-20260610.302/embark.el
;;;###autoload
(defun embark-live ()
"Create a live-updating Embark Collect buffer.
To control the display, add an entry to `display-buffer-alist'
with key \"Embark Live\"."
(interactive)
(let ((live-buffer (embark--collect
(format "*Embark Live: %s*"
(if (minibufferp)
(format "M-x %s" embark--command)
(buffer-name)))))
(run-collect (make-symbol "run-collect"))
(stop-collect (make-symbol "stop-collect"))
timer)
(setf (symbol-function stop-collect)
(lambda ()
(remove-hook 'change-major-mode-hook stop-collect t)
(remove-hook 'after-change-functions run-collect t)))
(setf (symbol-function run-collect)
(lambda (_1 _2 _3)
(unless timer
(setq timer
(run-with-idle-timer
0.05 nil
(lambda ()
(if (not (buffer-live-p live-buffer))
(funcall stop-collect)
(embark-collect--update-candidates live-buffer)
(with-current-buffer live-buffer
;; TODO figure out why I can't restore point
(tabulated-list-print t t))
(setq timer nil))))))))
(add-hook 'after-change-functions run-collect nil t)
(when (minibufferp)
(add-hook 'change-major-mode-hook stop-collect nil t))))