[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master f268cc8 21/67: Reveal invisible overlays
From: |
Oleh Krehel |
Subject: |
[elpa] master f268cc8 21/67: Reveal invisible overlays |
Date: |
Sun, 22 Mar 2015 17:33:55 +0000 |
branch: master
commit f268cc8119431ff6caab882b6209b15cc2585108
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
Reveal invisible overlays
* swiper.el (swiper--ivy): Update.
(swiper--ensure-visible): New defun.
(swiper--action): Update.
Fixes #11.
---
swiper.el | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/swiper.el b/swiper.el
index 871082e..b4aa703 100644
--- a/swiper.el
+++ b/swiper.el
@@ -152,7 +152,8 @@ When non-nil, INITIAL-INPUT is the initial search pattern."
(re-search-forward
(ivy--regex ivy-text)
(line-end-position)
- t)))))
+ t)
+ (swiper--ensure-visible)))))
(defun swiper--helm (&optional initial-input)
"`isearch' with an overview using `helm'.
@@ -197,6 +198,15 @@ When non-nil, INITIAL-INPUT is the initial search pattern."
(remove-hook 'helm-after-update-hook #'swiper--reanchor)
(swiper--cleanup)))
+(defun swiper--ensure-visible ()
+ "Remove overlays hiding point."
+ (let ((overlays (overlays-at (point)))
+ ov expose)
+ (while (setq ov (pop overlays))
+ (if (and (invisible-p (overlay-get ov 'invisible))
+ (setq expose (overlay-get ov 'isearch-open-invisible)))
+ (funcall expose ov)))))
+
(defun swiper--cleanup ()
"Clean up the overlays."
(while swiper--overlays
@@ -350,7 +360,8 @@ When non-nil, INITIAL-INPUT is the initial search pattern."
(goto-char (point-min))
(forward-line (1- (read x)))
(re-search-forward
- (ivy--regex helm-input) (line-end-position) t))
+ (ivy--regex helm-input) (line-end-position) t)
+ (swiper--ensure-visible))
(provide 'swiper)
- [elpa] master a267b34 10/67: familiar isearch key bindings while helm is active, (continued)
- [elpa] master a267b34 10/67: familiar isearch key bindings while helm is active, Oleh Krehel, 2015/03/22
- [elpa] master a817342 14/67: ivy.el: Improve the highlighting in the minibuffer, Oleh Krehel, 2015/03/22
- [elpa] master 97ab66a 13/67: README.md: Update, Oleh Krehel, 2015/03/22
- [elpa] master eb829a9 16/67: Account for zero-length regex matches, Oleh Krehel, 2015/03/22
- [elpa] master 9bcf1dc 12/67: Update dependencies., Oleh Krehel, 2015/03/22
- [elpa] master 7cea819 18/67: ivy.el: Add `ivy-exit', Oleh Krehel, 2015/03/22
- [elpa] master eb1def0 17/67: Add initial-input optional argument, Oleh Krehel, 2015/03/22
- [elpa] master 2f5cc11 15/67: swiper.el: Use `with-selected-window' instead of `with-current-buffer', Oleh Krehel, 2015/03/22
- [elpa] master 02065be 19/67: swiper.el: Restore original point on canceling, Oleh Krehel, 2015/03/22
- [elpa] master 6a874a4 11/67: Add `ivy' back end, Oleh Krehel, 2015/03/22
- [elpa] master f268cc8 21/67: Reveal invisible overlays,
Oleh Krehel <=
- [elpa] master 835208a 20/67: Inherit standard faces by default, Oleh Krehel, 2015/03/22
- [elpa] master f148a94 24/67: Fix use of cl-incf, Oleh Krehel, 2015/03/22
- [elpa] master 2ed9ee2 23/67: Require delsel for `minibuffer-keyboard-quit', Oleh Krehel, 2015/03/22
- [elpa] master 1ca1660 22/67: swiper.el: Save position before last search, Oleh Krehel, 2015/03/22
- [elpa] master 02ca7a1 25/67: Add anchoring, Oleh Krehel, 2015/03/22
- [elpa] master b1ac649 26/67: Don't recenter unless necessary, Oleh Krehel, 2015/03/22
- [elpa] master a07c2e4 27/67: swiper.el: Make ivy the default back end, Oleh Krehel, 2015/03/22
- [elpa] master baa9df7 30/67: Truncate candidates to window width in the minibuffer, Oleh Krehel, 2015/03/22
- [elpa] master 7c6d00d 32/67: ivy.el (ivy-read): Return immediately for less than 2 candidates, Oleh Krehel, 2015/03/22
- [elpa] master 315be36 31/67: counsel.el: Add, Oleh Krehel, 2015/03/22