[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master f1672c7 45/67: Add isearch-like history behavior
From: |
Oleh Krehel |
Subject: |
[elpa] master f1672c7 45/67: Add isearch-like history behavior |
Date: |
Sun, 22 Mar 2015 17:34:05 +0000 |
branch: master
commit f1672c78019f5c55ef792a3a9fc4828a5a1f1ff9
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
Add isearch-like history behavior
* ivy.el (ivy-next-line): Select previous history element for empty
input.
(ivy-previous-line): Select previous history element for empty input.
(ivy-previous-history-element): New defun.
(ivy-next-history-element): New defun.
Re #21
---
ivy.el | 20 ++++++++++++++++++--
1 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/ivy.el b/ivy.el
index 80a0e8d..62eb20e 100644
--- a/ivy.el
+++ b/ivy.el
@@ -64,8 +64,8 @@
(define-key map (kbd "DEL") 'ivy-backward-delete-char)
(define-key map (kbd "M-<") 'ivy-beginning-of-buffer)
(define-key map (kbd "M->") 'ivy-end-of-buffer)
- (define-key map (kbd "M-n") 'next-history-element)
- (define-key map (kbd "M-p") 'previous-history-element)
+ (define-key map (kbd "M-n") 'ivy-next-history-element)
+ (define-key map (kbd "M-p") 'ivy-previous-history-element)
(define-key map (kbd "C-g") 'minibuffer-keyboard-quit)
map)
"Keymap used in the minibuffer.")
@@ -88,6 +88,8 @@ of `history-length', which see.")
(defun ivy-next-line ()
"Select the next completion candidate."
(interactive)
+ (when (string= ivy-text "")
+ (ivy-previous-history-element 1))
(unless (>= ivy--index (1- ivy--length))
(cl-incf ivy--index)))
@@ -104,9 +106,23 @@ of `history-length', which see.")
(defun ivy-previous-line ()
"Select the previous completion candidate."
(interactive)
+ (when (string= ivy-text "")
+ (ivy-previous-history-element 1))
(unless (zerop ivy--index)
(cl-decf ivy--index)))
+(defun ivy-previous-history-element (arg)
+ "Forward to `previous-history-element' with ARG."
+ (interactive "p")
+ (previous-history-element arg)
+ (move-end-of-line 1))
+
+(defun ivy-next-history-element (arg)
+ "Forward to `next-history-element' with ARG."
+ (interactive "p")
+ (next-history-element arg)
+ (move-end-of-line 1))
+
(defun ivy-backward-delete-char ()
"Forward to `backward-delete-char'.
On error (read-only), quit without selecting."
- [elpa] master e7b560c 38/67: swiper.el (swiper--opoint): Fix bad defvar, (continued)
- [elpa] master e7b560c 38/67: swiper.el (swiper--opoint): Fix bad defvar, Oleh Krehel, 2015/03/22
- [elpa] master d78caee 33/67: Open invisible overlays using isearch, Oleh Krehel, 2015/03/22
- [elpa] master 8818a01 36/67: swiper.el: Fix error for empty buffer, Oleh Krehel, 2015/03/22
- [elpa] master 984346c 40/67: swiper.el (swiper-font-lock-ensure): Exclude a few modes, Oleh Krehel, 2015/03/22
- [elpa] master cb26121 41/67: ivy.el: Fix ivy-history recording the full text instead of input, Oleh Krehel, 2015/03/22
- [elpa] master de80846 39/67: Work around magit highlighting problem, Oleh Krehel, 2015/03/22
- [elpa] master 7bb5320 42/67: swiper.el (swiper--helm): Require helm-match-plugin, Oleh Krehel, 2015/03/22
- [elpa] master caa69f2 43/67: counsel.el: Add git file completion, Oleh Krehel, 2015/03/22
- [elpa] master fcb18e5 44/67: ivy.el (ivy-read): Bring last history candidate to front, Oleh Krehel, 2015/03/22
- [elpa] master e32bc63 46/67: swiper.el: Fix non-matching lines issue with initial-input, Oleh Krehel, 2015/03/22
- [elpa] master f1672c7 45/67: Add isearch-like history behavior,
Oleh Krehel <=
- [elpa] master 41732be 48/67: ivy.el: Return nil when there is no match, Oleh Krehel, 2015/03/22
- [elpa] master 588dab6 49/67: ivy-test.el: Add testing, Oleh Krehel, 2015/03/22
- [elpa] master f754835 47/67: swiper.el: Silence a few compilation warnings, Oleh Krehel, 2015/03/22
- [elpa] master cc4bf75 52/67: README.md: Add build status, Oleh Krehel, 2015/03/22
- [elpa] master 2b8e4e1 53/67: ivy.el: Remove while-no-input, Oleh Krehel, 2015/03/22
- [elpa] master 2191bdb 54/67: ivy.el (ivy-completions): Simplify, Oleh Krehel, 2015/03/22
- [elpa] master d587fa2 51/67: ivy.el (ivy-read): Allow for format-style PROMPT, Oleh Krehel, 2015/03/22
- [elpa] master 9f9c4dc 57/67: swiper-helm.el: Fix typo, Oleh Krehel, 2015/03/22
- [elpa] master 3a08a88 50/67: ivy.el (ivy-read): Change index to preselect, Oleh Krehel, 2015/03/22
- [elpa] master d2b2813 55/67: swiper-helm.el: Copy all helm stuff here, Oleh Krehel, 2015/03/22