Function: consult--jump-preview
consult--jump-preview is a byte-compiled function defined in
consult.el.
Signature
(consult--jump-preview)
Documentation
The preview function used if selecting from a list of candidate positions.
The function can be used as the :state argument of consult--read.
Source Code
;; Defined in ~/.emacs.d/elpa/consult-20260805.1130/consult.el
(defun consult--jump-preview ()
"The preview function used if selecting from a list of candidate positions.
The function can be used as the `:state' argument of `consult--read'."
(let (restore)
(lambda (action cand)
(when (eq action 'preview)
(mapc #'funcall restore)
(setq restore nil)
;; TODO Better buffer preview support
;; 1. Use consult--buffer-preview instead of consult--jump-ensure-buffer
;; 2. Remove function consult--jump-ensure-buffer
;; 3. Remove consult-buffer-other-* from consult-customize-alist
(when-let* ((pos (or (car-safe cand) cand)) ;; Candidate can be previewed
((consult--jump-ensure-buffer pos)))
(let ((saved-min (point-min-marker))
(saved-max (point-max-marker))
(saved-pos (point-marker)))
(set-marker-insertion-type saved-max t) ;; Grow when text is inserted
(push (lambda ()
(when-let* ((buf (marker-buffer saved-pos)))
(with-current-buffer buf
(narrow-to-region saved-min saved-max)
(goto-char saved-pos)
(set-marker saved-pos nil)
(set-marker saved-min nil)
(set-marker saved-max nil))))
restore))
(unless (= (goto-char pos) (point)) ;; Widen if jump failed
(widen)
(goto-char pos))
(setq restore (nconc (consult--invisible-open-temporarily) restore))
;; Ensure that cursor is properly previewed (gh:minad/consult#764)
(unless (eq cursor-in-non-selected-windows 'box)
(let ((orig cursor-in-non-selected-windows)
(buf (current-buffer)))
(push
(if (local-variable-p 'cursor-in-non-selected-windows)
(lambda ()
(when (buffer-live-p buf)
(with-current-buffer buf
(setq-local cursor-in-non-selected-windows orig))))
(lambda ()
(when (buffer-live-p buf)
(with-current-buffer buf
(kill-local-variable 'cursor-in-non-selected-windows)))))
restore)
(setq-local cursor-in-non-selected-windows 'box)))
;; Match previews
(let ((overlays
(list (save-excursion
(let ((vbeg (progn (beginning-of-visual-line) (point)))
(vend (progn (end-of-visual-line) (point)))
(end (pos-eol)))
(consult--make-overlay vbeg (if (= vend end) (1+ end) vend)
'category 'consult-preview-line-overlay
'window (selected-window)))))))
(dolist (match (cdr-safe cand))
(push (consult--make-overlay (+ (point) (car match))
(+ (point) (cdr match))
'category 'consult-preview-match-overlay
'window (selected-window))
overlays))
(push (lambda () (mapc #'delete-overlay overlays)) restore))
(run-hooks 'consult-after-jump-hook))))))