branch: externals/ivy-posframe
commit 7ea96ce97857b4d4898e7a908429e61a714b412a
Merge: 9982c6d 3784f59
Author: tumashu <[email protected]>
Commit: GitHub <[email protected]>
Merge pull request #19 from abo-abo/master
Simplify ivy-postframe-avy
---
ivy-posframe.el | 49 +++++--------------------------------------------
1 file changed, 5 insertions(+), 44 deletions(-)
diff --git a/ivy-posframe.el b/ivy-posframe.el
index 0a323d1..8304c6a 100644
--- a/ivy-posframe.el
+++ b/ivy-posframe.el
@@ -178,7 +178,7 @@ This variable is useful for `ivy-posframe-read-action' .")
"Show STR in ivy's posframe."
(if (not (ivy-posframe-workable-p))
(ivy-display-function-fallback str)
- (with-selected-window (ivy--get-window ivy-last)
+ (with-ivy-window
(posframe-show
ivy-posframe-buffer
:font ivy-posframe-font
@@ -287,13 +287,6 @@ selection, non-nil otherwise."
(setcar actions (1+ action-idx))
(ivy-set-action actions)))))))
-(defun ivy-posframe--avy-action (pt)
- "Finish ivy session with the candidate at PT."
- (with-current-buffer ivy-posframe-buffer
- (ivy--done
- (substring-no-properties
- (nth (- (line-number-at-pos pt) 2) ivy--old-cands)))))
-
(defun ivy-posframe--window ()
"Return the posframe window displaying `ivy-posframe-buffer'."
(frame-selected-window
@@ -302,46 +295,14 @@ selection, non-nil otherwise."
(defvar avy-all-windows)
(defvar avy-keys)
-(defvar avy-keys-alist)
(defvar avy-style)
-(defvar avy-styles-alist)
-(defvar avy-action)
-(declare-function avy--process "avy")
-(declare-function avy--style-fn "avy")
+
(defun ivy-posframe-avy ()
"Jump to one of the current ivy candidates."
(interactive)
- (unless (require 'avy nil 'noerror)
- (error "Package avy isn't installed"))
- (unless (boundp 'avy-pre-action)
- (error "A newer version of avy is required for this command"))
- (let* ((avy-all-windows nil)
- (avy-keys (or (cdr (assq 'ivy-avy avy-keys-alist))
- avy-keys))
- (avy-style (or (cdr (assq 'ivy-avy
- avy-styles-alist))
- avy-style))
- ;; prevent default pre action, which calls
- ;; `select-frame-set-input-focus', deselecting the minibuffer and
- ;; causing `ivy-posframe-cleanup' to run prematurely
- (avy-pre-action #'ignore)
- (window (ivy-posframe--window))
- candidates)
- (with-current-buffer ivy-posframe-buffer
- (save-excursion
- (save-restriction
- (narrow-to-region
- (window-start window)
- (window-end window))
- (goto-char (point-min))
- (forward-line)
- (while (< (point) (point-max))
- (push (cons (point) window) candidates)
- (forward-line)))))
- (setq avy-action #'ivy-posframe--avy-action)
- (avy--process
- (nreverse candidates)
- (avy--style-fn avy-style))))
+ (let ((avy-pre-action #'ignore))
+ (with-selected-window (ivy-posframe--window)
+ (ivy-avy))))
(declare-function avy--make-backgrounds "avy")
(declare-function avy-window-list "avy")