[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vertico 65f5683 1/2: vertico-buffer: Fix cursor jumping
From: |
ELPA Syncer |
Subject: |
[elpa] externals/vertico 65f5683 1/2: vertico-buffer: Fix cursor jumping issue in prompt |
Date: |
Tue, 13 Jul 2021 14:57:17 -0400 (EDT) |
branch: externals/vertico
commit 65f5683833d73b81f20cdf442d160425baeff60e
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
vertico-buffer: Fix cursor jumping issue in prompt
---
extensions/vertico-buffer.el | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/extensions/vertico-buffer.el b/extensions/vertico-buffer.el
index 7eb392e..e8b8e89 100644
--- a/extensions/vertico-buffer.el
+++ b/extensions/vertico-buffer.el
@@ -46,7 +46,7 @@
(defun vertico-buffer--display (lines)
"Display LINES in buffer."
- (move-overlay vertico-buffer--overlay (point-min) (point-max))
+ (set-window-vscroll nil 100)
(let ((count (vertico--format-count))
(prompt (minibuffer-prompt))
(content (minibuffer-contents)))
@@ -56,14 +56,12 @@
content "\n" (string-join lines))
(setq-local truncate-lines (< (point) (* 0.8 (window-width)))))
(let ((win (or (get-buffer-window vertico-buffer--buffer)
- (display-buffer vertico-buffer--buffer
vertico-buffer-action)))
- (pt (point)))
+ (display-buffer vertico-buffer--buffer
vertico-buffer-action))))
(overlay-put vertico--candidates-ov 'window win)
(when vertico--count-ov
(overlay-put vertico--count-ov 'window win))
- (with-selected-window win
- (goto-char (max (+ (point-min) (length prompt) (length count))
- (+ pt (length count))))))))
+ (set-window-point win (max (+ 1 (length prompt) (length count))
+ (+ (point) (length count)))))))
(defun vertico-buffer--select (_)
"Ensure that cursor is only shown if minibuffer is selected."
@@ -76,6 +74,7 @@
(defun vertico-buffer--destroy ()
"Destroy Vertico buffer."
+ (set-window-vscroll nil 0)
(kill-buffer vertico-buffer--buffer))
(defun vertico-buffer--setup ()
@@ -83,10 +82,10 @@
(add-hook 'window-selection-change-functions 'vertico-buffer--select nil
'local)
(add-hook 'minibuffer-exit-hook 'vertico-buffer--destroy nil 'local)
(setq-local cursor-type '(bar . 0))
- (setq vertico-buffer--overlay (make-overlay (point-max) (point-max)))
+ (setq vertico-buffer--overlay (make-overlay (point-max) (point-max) nil t t))
(overlay-put vertico-buffer--overlay 'window (selected-window))
(overlay-put vertico-buffer--overlay 'priority 1000)
- (overlay-put vertico-buffer--overlay 'invisible t)
+ (overlay-put vertico-buffer--overlay 'before-string "\n\n")
(setq vertico-buffer--buffer (get-buffer-create
(if (= 1 (recursion-depth))
" *Vertico*"