emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 119a151 242/272: Make "j"/"k" feedback more solid in ivy-o


From: Oleh Krehel
Subject: [elpa] master 119a151 242/272: Make "j"/"k" feedback more solid in ivy-occur buffers
Date: Mon, 25 Apr 2016 10:13:28 +0000

branch: master
commit 119a15123f035d16ed35f96e9002911c724d5e9b
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>

    Make "j"/"k" feedback more solid in ivy-occur buffers
    
    * ivy.el (ivy-occur-timer): New defvar.
    (ivy-occur-press): Do the overlays also for `counsel-grep'. Put
    `swiper--cleanup' on a 1 second timer.
    
    Tip: pressing "c" in *ivy-occur* buffers toggles to "calling state".
    When in the calling state, "j" and "k" will auto-follow the candidate.
---
 ivy.el |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/ivy.el b/ivy.el
index d5ce2b4..7052f48 100644
--- a/ivy.el
+++ b/ivy.el
@@ -2912,6 +2912,7 @@ EVENT gives the mouse position."
 
 (declare-function swiper--cleanup "swiper")
 (declare-function swiper--add-overlays "swiper")
+(defvar ivy-occur-timer nil)
 
 (defun ivy-occur-press ()
   "Execute action for the current candidate."
@@ -2944,7 +2945,7 @@ EVENT gives the mouse position."
                      (cdr (assoc str coll))
                    str))
         (if (memq (ivy-state-caller ivy-last)
-                  '(swiper counsel-git-grep))
+                  '(swiper counsel-git-grep counsel-grep))
             (with-current-buffer (window-buffer (selected-window))
               (swiper--cleanup)
               (swiper--add-overlays
@@ -2952,7 +2953,9 @@ EVENT gives the mouse position."
                (line-beginning-position)
                (line-end-position)
                (selected-window))
-              (run-at-time 0.5 nil 'swiper--cleanup)))))))
+              (when (timerp ivy-occur-timer)
+                (cancel-timer ivy-occur-timer))
+              (setq ivy-occur-timer (run-at-time 1.0 nil 
'swiper--cleanup))))))))
 
 (defvar ivy-help-file (let ((default-directory
                              (if load-file-name



reply via email to

[Prev in Thread] Current Thread [Next in Thread]