[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/corfu 78b77306d6 7/7: Simplify corfu-echo
From: |
ELPA Syncer |
Subject: |
[elpa] externals/corfu 78b77306d6 7/7: Simplify corfu-echo |
Date: |
Fri, 18 Nov 2022 06:57:34 -0500 (EST) |
branch: externals/corfu
commit 78b77306d617d8c1abf1dec3671092a05a3fd027
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Simplify corfu-echo
---
extensions/corfu-echo.el | 31 ++++++++++++++++---------------
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/extensions/corfu-echo.el b/extensions/corfu-echo.el
index 9f01cdd9c8..bca5e94941 100644
--- a/extensions/corfu-echo.el
+++ b/extensions/corfu-echo.el
@@ -57,12 +57,19 @@ floats to specify initial and subsequent delay."
(defvar-local corfu-echo--message nil
"Last echo message.")
-(defun corfu-echo--cancel (&optional hide)
- "Cancel echo timer and optionally HIDE message."
+(defun corfu-echo--refresh ()
+ "Refresh message to avoid flicker."
+ (corfu-echo--cancel corfu-echo--message))
+
+(defun corfu-echo--cancel (&optional msg)
+ "Cancel echo timer and refresh MSG."
(when corfu-echo--timer
(cancel-timer corfu-echo--timer)
(setq corfu-echo--timer nil))
- (corfu-echo--show (unless hide corfu-echo--message)))
+ (corfu-echo--show msg)
+ (unless corfu--echo-message
+ (kill-local-variable 'corfu-echo--timer)
+ (kill-local-variable 'corfu-echo--message)))
(defun corfu-echo--show (msg)
"Show MSG in echo area."
@@ -84,18 +91,12 @@ floats to specify initial and subsequent delay."
(nth corfu--index corfu--candidates))))
(if (or (eq delay t) (<= delay 0))
(corfu-echo--show (funcall fun cand))
- (corfu-echo--cancel 'hide)
+ (corfu-echo--cancel)
(setq corfu-echo--timer
(run-at-time delay nil
(lambda ()
(corfu-echo--show (funcall fun cand))))))
- (corfu-echo--cancel 'hide)))
-
-(defun corfu-echo--teardown ()
- "Teardown echo display."
- (corfu-echo--cancel 'hide)
- (kill-local-variable 'corfu-echo--timer)
- (kill-local-variable 'corfu-echo--message))
+ (corfu-echo--cancel)))
;;;###autoload
(define-minor-mode corfu-echo-mode
@@ -103,13 +104,13 @@ floats to specify initial and subsequent delay."
:global t :group 'corfu
(cond
(corfu-echo-mode
- (advice-add #'corfu--pre-command :before #'corfu-echo--cancel)
+ (advice-add #'corfu--pre-command :before #'corfu-echo--refresh)
(advice-add #'corfu--exhibit :after #'corfu-echo--exhibit)
- (advice-add #'corfu--teardown :before #'corfu-echo--teardown))
+ (advice-add #'corfu--teardown :before #'corfu-echo--cancel))
(t
- (advice-remove #'corfu--pre-command #'corfu-echo--cancel)
+ (advice-remove #'corfu--pre-command #'corfu-echo--refresh)
(advice-remove #'corfu--exhibit #'corfu-echo--exhibit)
- (advice-remove #'corfu--teardown #'corfu-echo--teardown))))
+ (advice-remove #'corfu--teardown #'corfu-echo--cancel))))
(provide 'corfu-echo)
;;; corfu-echo.el ends here
- [elpa] externals/corfu updated (cfc97d4885 -> 78b77306d6), ELPA Syncer, 2022/11/18
- [elpa] externals/corfu 8c10f25a42 3/7: README update, ELPA Syncer, 2022/11/18
- [elpa] externals/corfu 78b77306d6 7/7: Simplify corfu-echo,
ELPA Syncer <=
- [elpa] externals/corfu eb1cf62843 1/7: README update, ELPA Syncer, 2022/11/18
- [elpa] externals/corfu 21723ad548 4/7: Add changelog (Fix #33), ELPA Syncer, 2022/11/18
- [elpa] externals/corfu 98a0b8d958 5/7: corfu-infoframe: Add completion predicates, ELPA Syncer, 2022/11/18
- [elpa] externals/corfu f8d54d71d6 6/7: README update, ELPA Syncer, 2022/11/18
- [elpa] externals/corfu 638e33a98d 2/7: BREAKING CHANGE: Extract corfu-echo extension from corfu.el, ELPA Syncer, 2022/11/18