[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 341b5a2 229/272: counsel-grep should pick candidates close
From: |
Oleh Krehel |
Subject: |
[elpa] master 341b5a2 229/272: counsel-grep should pick candidates closest to point |
Date: |
Mon, 25 Apr 2016 10:13:27 +0000 |
branch: master
commit 341b5a239f14cb9b385db32567edb1e792930c08
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
counsel-grep should pick candidates closest to point
* ivy.el (ivy-recompute-index-swiper-async): Update.
Fixes the algorithm selecting the first matching candidate in case there
are 0 matching candidates following point. Now the last matching
candidate will be selected, resulting in less scrolling.
---
ivy.el | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/ivy.el b/ivy.el
index 415f54a..16e7d7f 100644
--- a/ivy.el
+++ b/ivy.el
@@ -2242,10 +2242,13 @@ Prefix matches to NAME are put ahead of the list."
(if (null ivy--old-cands)
(let ((ln (with-ivy-window
(line-number-at-pos))))
- (or (cl-position-if (lambda (x)
- (>= (string-to-number x) ln))
- cands)
- 0))
+ (or
+ ;; closest to current line going forwards
+ (cl-position-if (lambda (x)
+ (>= (string-to-number x) ln))
+ cands)
+ ;; closest to current line going backwards
+ (1- (length cands))))
(let ((tail (nthcdr ivy--index ivy--old-cands))
idx)
(if (and tail ivy--old-cands (not (equal "^" ivy--old-re)))
- [elpa] master 67224c0 171/272: counsel.el (counsel-prompt-function): New defcustom, (continued)
- [elpa] master 67224c0 171/272: counsel.el (counsel-prompt-function): New defcustom, Oleh Krehel, 2016/04/25
- [elpa] master 0c5f68c 183/272: counsel.el (counsel-pt): Add, Oleh Krehel, 2016/04/25
- [elpa] master 692002d 184/272: counsel.el (counsel-pt): Remove unused args, Oleh Krehel, 2016/04/25
- [elpa] master 0bad922 083/272: Provide the :caller in most calls to ivy-read, Oleh Krehel, 2016/04/25
- [elpa] master dabd1f8 205/272: ivy.el (ivy-avy): Make "C-g" cancel gracefully, Oleh Krehel, 2016/04/25
- [elpa] master e8f2064 117/272: Rename counsel-symbol-at-point to ivy-thing-at-point, Oleh Krehel, 2016/04/25
- [elpa] master 8d04638 202/272: counsel.el: Fix breakage due to helm-rhythmbox, Oleh Krehel, 2016/04/25
- [elpa] master 6ae91f7 213/272: Make ivy-set-sources work also for sync completion, Oleh Krehel, 2016/04/25
- [elpa] master f7c7114 037/272: ivy-test.el (ivy--regex-ignore-order): New test, Oleh Krehel, 2016/04/25
- [elpa] master 1088078 266/272: When selecting a non-existing key in an alist, return that key, Oleh Krehel, 2016/04/25
- [elpa] master 341b5a2 229/272: counsel-grep should pick candidates closest to point,
Oleh Krehel <=
- [elpa] master d71b5c5 081/272: swiper.el (swiper--action): Update regexp-search-ring, Oleh Krehel, 2016/04/25
- [elpa] master e1c156b 074/272: ivy.el (ivy--resize-minibuffer-to-fit): Check frame-root-window-p, Oleh Krehel, 2016/04/25
- [elpa] master ebd3e29 089/272: swiper.el (swiper--update-input-ivy): Fix a bug, Oleh Krehel, 2016/04/25
- [elpa] master de0e541 234/272: Speed up counsel-grep by up to 40 times, Oleh Krehel, 2016/04/25
- [elpa] master 299bc13 097/272: Fix initial-input not set to nil for 'read-file-name-internal, Oleh Krehel, 2016/04/25
- [elpa] master bab5aab 269/272: doc/Changelog.org: Prepare for the 0.8.0 release, Oleh Krehel, 2016/04/25
- [elpa] master 0efbf6e 055/272: Simplify the signature for :dynamic-collection functions, Oleh Krehel, 2016/04/25
- [elpa] master 6a5a688 201/272: counsel.el: Improve counsel-grep, Oleh Krehel, 2016/04/25
- [elpa] master 65cf724 247/272: Make ivy--regex work with "[^ ]", Oleh Krehel, 2016/04/25
- [elpa] master f72cea2 253/272: swiper.el (swiper-mc): Restore interactive, Oleh Krehel, 2016/04/25