summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mendler <mail@daniel-mendler.de>2024-03-29 10:34:18 +0100
committerDaniel Mendler <mail@daniel-mendler.de>2024-03-29 10:37:01 +0100
commite0b188b713777a7324a0151c242bf9ae0d94c310 (patch)
tree3a8a785beb881f1498d46ab9f3edeb9e21783258
parentfa7d51a5bce417e482629dd01a82dc1225ee3db5 (diff)
Move corfu--preview-current* functions
-rw-r--r--corfu.el37
1 files changed, 17 insertions, 20 deletions
diff --git a/corfu.el b/corfu.el
index d6ac074..e64bc47 100644
--- a/corfu.el
+++ b/corfu.el
@@ -787,33 +787,15 @@ FRAME is the existing frame."
(corfu--popup-show pos pw width fcands (- corfu--index corfu--scroll)
(and (> corfu--total corfu-count) lo) bar)))
-(defun corfu--preview-current-p (&optional insert)
- "Return t if the selected candidate is previewed, with auto INSERT."
- (and (if insert (eq 'insert corfu-preview-current) corfu-preview-current)
- (>= corfu--index 0) (/= corfu--index corfu--preselect)))
-
-(defun corfu--preview-current (beg end)
- "Show current candidate as overlay given BEG and END."
- (when (corfu--preview-current-p)
- (setq beg (+ beg (length corfu--base))
- corfu--preview-ov (make-overlay beg end nil))
- (overlay-put corfu--preview-ov 'priority 1000)
- (overlay-put corfu--preview-ov 'window (selected-window))
- (overlay-put corfu--preview-ov (if (= beg end) 'after-string 'display)
- (nth corfu--index corfu--candidates))))
-
(defun corfu--range-valid-p ()
"Check the completion range, return non-nil if valid."
(pcase-let ((buf (current-buffer))
(pt (point))
(`(,beg ,end . ,_) completion-in-region--data))
(and beg end
- (eq buf (marker-buffer beg))
- (eq buf (window-buffer))
+ (eq buf (marker-buffer beg)) (eq buf (window-buffer))
(<= beg pt end)
- (save-excursion
- (goto-char beg)
- (<= (pos-bol) pt (pos-eol))))))
+ (save-excursion (goto-char beg) (<= (pos-bol) pt (pos-eol))))))
(defun corfu--continue-p ()
"Check if completion should continue after a command.
@@ -839,6 +821,21 @@ the last command must be listed in `corfu-continue-commands'."
(seq-contains-p (car corfu--input) corfu-separator)))
(funcall completion-in-region-mode--predicate)))))))
+(defun corfu--preview-current-p (&optional insert)
+ "Return t if the selected candidate is previewed, with auto INSERT."
+ (and (if insert (eq 'insert corfu-preview-current) corfu-preview-current)
+ (>= corfu--index 0) (/= corfu--index corfu--preselect)))
+
+(defun corfu--preview-current (beg end)
+ "Show current candidate as overlay given BEG and END."
+ (when (corfu--preview-current-p)
+ (setq beg (+ beg (length corfu--base))
+ corfu--preview-ov (make-overlay beg end nil))
+ (overlay-put corfu--preview-ov 'priority 1000)
+ (overlay-put corfu--preview-ov 'window (selected-window))
+ (overlay-put corfu--preview-ov (if (= beg end) 'after-string 'display)
+ (nth corfu--index corfu--candidates))))
+
(defun corfu--window-change (_)
"Window and buffer change hook which quits Corfu."
(unless (corfu--range-valid-p)