Function: consult--async-refresh
consult--async-refresh is a byte-compiled function defined in
consult.el.
Signature
(consult--async-refresh &optional DELAY)
Documentation
Async function which refreshes the display with a timer.
The refresh happens after a DELAY, defaulting to
consult-async-refresh-delay.
Source Code
;; Defined in ~/.emacs.d/elpa/consult-20260805.1130/consult.el
(defun consult--async-refresh (&optional delay)
"Async function which refreshes the display with a timer.
The refresh happens after a DELAY, defaulting to
`consult-async-refresh-delay'."
(setq delay (or delay consult-async-refresh-delay))
(lambda (sink)
(if (<= delay 0)
(lambda (action)
(pcase action
((or (pred consp) 'flush)
(prog1 (funcall sink action)
(funcall sink 'refresh)))
(_ (funcall sink action))))
(let ((timer (timer-create)))
(lambda (action)
(prog1 (funcall sink action)
(pcase action
((or (pred consp) 'flush)
(unless (memq timer timer-list)
(timer-set-function timer sink '(refresh))
(timer-set-time timer (timer-relative-time nil delay))
(timer-activate timer)))
((or 'destroy 'refresh) ;; 'refresh already forced a refresh
(cancel-timer timer)))))))))