fix(vertico): +vertico/jump-list failing to jump

Prior to this fix this command would error out because of incorrect
expectations wrt consult--read's return value.
This commit is contained in:
Henrik Lissner 2021-08-21 03:29:13 -04:00
parent 277a376b43
commit 265e19a405

View file

@ -201,34 +201,39 @@ If INITIAL is non-nil, use as initial input."
(nreverse (nreverse
(delete-dups (delete-dups
(delq (delq
nil (mapcar (lambda (mark) nil (mapcar
(when mark (lambda (mark)
(cl-destructuring-bind (path pt _id) mark (when mark
(let ((buf (get-file-buffer path))) (cl-destructuring-bind (path pt _id) mark
(unless buf (let* ((visiting (find-buffer-visiting path))
(push (setq buf (find-file-noselect path t)) (buf (or visiting (find-file-noselect path t)))
buffers)) (dir default-directory))
(with-current-buffer buf (unless visiting
(goto-char pt) (push buf buffers))
(font-lock-fontify-region (line-beginning-position) (line-end-position)) (with-current-buffer buf
(cons (format "%s:%d: %s" (goto-char pt)
(buffer-name) (font-lock-fontify-region
(line-number-at-pos) (line-beginning-position) (line-end-position))
(string-trim-right (or (thing-at-point 'line) ""))) (format "%s:%d: %s"
(point-marker))))))) (car (cl-sort (list (abbreviate-file-name (buffer-file-name buf))
(cddr (better-jumper-jump-list-struct-ring (file-relative-name (buffer-file-name buf) dir))
(better-jumper-get-jumps (better-jumper--get-current-context)))))))) #'< :key #'length))
(line-number-at-pos)
(string-trim-right (or (thing-at-point 'line) ""))))))))
(cddr (better-jumper-jump-list-struct-ring
(better-jumper-get-jumps (better-jumper--get-current-context))))))))
:prompt "jumplist: " :prompt "jumplist: "
:sort nil :sort nil
:require-match t :require-match t
:category 'jump-list)) :category 'jump-list))
(mapc #'kill-buffer buffers)))) (mapc #'kill-buffer buffers))))
(let ((mark (cdr jump))) (if (not (string-match "^\\([^:]+\\):\\([0-9]+\\): " jump))
(delq! (marker-buffer mark) buffers) (user-error "No match")
(mapc #'kill-buffer buffers) (let ((file (match-string-no-properties 1 jump))
(setq buffers nil) (line (match-string-no-properties 2 jump)))
(with-current-buffer (switch-to-buffer (marker-buffer mark)) (find-file file)
(goto-char (marker-position mark))))) (goto-char (point-min))
(forward-line (string-to-number line)))))
;;;###autoload ;;;###autoload
(defun +vertico/embark-which-key-indicator () (defun +vertico/embark-which-key-indicator ()