From 1027243db734bc86adc47015dd21243cd1124a74 Mon Sep 17 00:00:00 2001 From: jumper047 Date: Thu, 4 Jun 2020 13:02:32 +0300 Subject: [PATCH 1/2] Add ivy-call-and-recenter binding --- ivy-xref.el | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ivy-xref.el b/ivy-xref.el index 8a0dc5a..764e2a4 100644 --- a/ivy-xref.el +++ b/ivy-xref.el @@ -51,6 +51,11 @@ :type 'boolean :group 'ivy-xref) +(defvar ivy-xref-map + (let ((map (make-sparse-keymap))) + (define-key map (kbd "C-l") 'ivy-call-and-recenter) + map)) + (defun ivy-xref-make-collection (xrefs) "Transform XREFS into a collection for display via `ivy-read'." (let ((collection nil)) @@ -109,6 +114,7 @@ (xref--show-pos-in-buf marker buf t) (xref--show-pos-in-buf marker buf))))) (user-error (message (error-message-string err))))) + :keymap ivy-xref-map :unwind (lambda () (unless done (switch-to-buffer orig-buf) From b39e750afd400e5623ee9964020ab20295952098 Mon Sep 17 00:00:00 2001 From: jumper047 Date: Mon, 7 Nov 2022 17:50:13 +0300 Subject: [PATCH 2/2] Highlight line in previewed file --- ivy-xref.el | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ivy-xref.el b/ivy-xref.el index df7284c..538d5a9 100644 --- a/ivy-xref.el +++ b/ivy-xref.el @@ -34,6 +34,7 @@ ;;; Code: (require 'xref) (require 'ivy) +(require 'pulse) (defgroup ivy-xref nil "Select xref results using ivy." @@ -53,9 +54,17 @@ (defvar ivy-xref-map (let ((map (make-sparse-keymap))) - (define-key map (kbd "C-l") 'ivy-call-and-recenter) + (define-key map (kbd "C-l") 'ivy-xref-recenter) map)) +(defun ivy-xref-recenter () + "Call action and recenter window according to the selected candidate." + (interactive) + (ivy-call) + (with-ivy-window + (recenter-top-bottom) + (pulse-momentary-highlight-one-line))) + (defun ivy-xref-make-collection (xrefs) "Transform XREFS into a collection for display via `ivy-read'." (let ((collection nil))