diff options
| author | Daniel Mendler <mail@daniel-mendler.de> | 2022-11-21 22:03:43 +0100 |
|---|---|---|
| committer | Daniel Mendler <mail@daniel-mendler.de> | 2022-11-21 22:03:43 +0100 |
| commit | 9e854d2a979445b11d6454d440bb886ebfd8ff0a (patch) | |
| tree | 1bfd2ecf45ef43f23e4ec97d95d7244891b2bfab | |
| parent | 4bd40f82f112f6ad510cd3f81afe2f0db4fa2fa0 (diff) | |
corfu-popupinfo: Do not setup keymap if completion-in-region-mode disabled
Fix #254
| -rw-r--r-- | extensions/corfu-popupinfo.el | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/extensions/corfu-popupinfo.el b/extensions/corfu-popupinfo.el index 3890f45..6e5aa33 100644 --- a/extensions/corfu-popupinfo.el +++ b/extensions/corfu-popupinfo.el @@ -434,29 +434,30 @@ not be displayed until this command is called again, even if (defun corfu-popupinfo--exhibit (&rest _) "Update the info popup automatically." - (add-to-list 'minor-mode-overriding-map-alist - `(,#'corfu-popupinfo-mode . ,corfu-popupinfo-map)) - (if (and (>= corfu--index 0) (corfu-popupinfo--visible-p corfu--frame)) - (when-let* ((delay (if (consp corfu-popupinfo-delay) - (funcall (if (corfu-popupinfo--visible-p) #'cdr #'car) - corfu-popupinfo-delay) - corfu-popupinfo-delay)) - (corfu-popupinfo--toggle)) - (when corfu-popupinfo--timer - (cancel-timer corfu-popupinfo--timer) - (setq corfu-popupinfo--timer nil)) - (let ((candidate (nth corfu--index corfu--candidates))) - (if (or (eq delay t) (<= delay 0) - (equal candidate corfu-popupinfo--candidate)) - (corfu-popupinfo--show candidate) - (cond - (corfu-popupinfo-hide - (corfu-popupinfo--hide)) - (corfu-popupinfo--candidate - (corfu-popupinfo--show corfu-popupinfo--candidate))) - (setq corfu-popupinfo--timer - (run-at-time delay nil #'corfu-popupinfo--show candidate))))) - (corfu-popupinfo--hide))) + (when completion-in-region-mode + (setf (alist-get #'corfu-popupinfo-mode minor-mode-overriding-map-alist) + corfu-popupinfo-map) + (if (and (>= corfu--index 0) (corfu-popupinfo--visible-p corfu--frame)) + (when-let* ((delay (if (consp corfu-popupinfo-delay) + (funcall (if (corfu-popupinfo--visible-p) #'cdr #'car) + corfu-popupinfo-delay) + corfu-popupinfo-delay)) + (corfu-popupinfo--toggle)) + (when corfu-popupinfo--timer + (cancel-timer corfu-popupinfo--timer) + (setq corfu-popupinfo--timer nil)) + (let ((candidate (nth corfu--index corfu--candidates))) + (if (or (eq delay t) (<= delay 0) + (equal candidate corfu-popupinfo--candidate)) + (corfu-popupinfo--show candidate) + (cond + (corfu-popupinfo-hide + (corfu-popupinfo--hide)) + (corfu-popupinfo--candidate + (corfu-popupinfo--show corfu-popupinfo--candidate))) + (setq corfu-popupinfo--timer + (run-at-time delay nil #'corfu-popupinfo--show candidate))))) + (corfu-popupinfo--hide)))) (defun corfu-popupinfo--teardown () "Teardown the info popup state." |
