consult: implement jump-list command

This commit is contained in:
Sebastian Arlund Nørgaard 2021-11-25 14:30:56 +01:00
parent 673c388a6c
commit 04a71811b5
1 changed files with 12 additions and 0 deletions

View File

@ -48,11 +48,13 @@
(declare-function consult--remove-dups "consult")
(declare-function consult--mark-candidates "consult")
(declare-function consult-mark "consult")
(declare-function consult-global-mark "consult")
(defun evil-collection-consult-set-bindings ()
"Set the bindings."
(evil-set-command-property 'consult-outline :jump t)
(evil-set-command-property 'consult-mark :jump t)
(evil-set-command-property 'consult-global-mark :jump t)
(evil-set-command-property 'consult-imenu :jump t)
(evil-set-command-property 'consult-org-heading :jump t)
(evil-set-command-property 'consult-line :jump t))
@ -96,6 +98,16 @@ as defined in `evil-collection-consult--evil-mark-ring'."
#'evil-collection-consult--mark-candidates))
(consult-mark (evil-collection-consult--evil-mark-ring))))
;;;###autoload
(defun evil-collection-consult-jump-list ()
"Jump to a position in the evil jump list."
(interactive)
(consult-global-mark (delq nil (mapcar (lambda (jump)
(let ((mark (car jump)))
(when (markerp mark)
mark)))
(ring-elements (evil--jumps-get-window-jump-list))))))
;;;###autoload
(defun evil-collection-consult-setup ()
"Set up `evil' bindings for `consult'."