summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extensions/corfu-quick.el30
1 files changed, 11 insertions, 19 deletions
diff --git a/extensions/corfu-quick.el b/extensions/corfu-quick.el
index dd87b5f..4a98f01 100644
--- a/extensions/corfu-quick.el
+++ b/extensions/corfu-quick.el
@@ -80,10 +80,10 @@ TWO is non-nil if two keys should be displayed."
(cond
((eq first two)
(list
- (concat " " (propertize (char-to-string second) 'face 'corfu-quick1))
+ (propertize (char-to-string second) 'face 'corfu-quick1)
(cons second (+ corfu--scroll idx))))
(two
- (list " "))
+ (list ""))
(t
(list
(concat (propertize (char-to-string first) 'face 'corfu-quick1)
@@ -91,31 +91,23 @@ TWO is non-nil if two keys should be displayed."
(cons first (list first))))))
(let ((first (elt corfu-quick1 (mod idx fst))))
(if two
- (list " ")
+ (list "")
(list
- (concat (propertize (char-to-string first) 'face 'corfu-quick1) " ")
+ (propertize (char-to-string first) 'face 'corfu-quick1)
(cons first (+ corfu--scroll idx))))))))
(defun corfu-quick--read (&optional first)
"Read quick key given FIRST pressed key."
(cl-letf* ((list nil)
- (space1 (propertize " " 'display
- `(space :width
- (+ 0.5 (,(alist-get
- 'child-frame-border-width
- corfu--frame-parameters))))))
- (space2 #(" " 0 1 (display (space :width 0.5))))
- (orig (symbol-function #'corfu--affixate))
- ((symbol-function #'corfu--affixate)
+ (orig (symbol-function #'corfu--format-candidates))
+ ((symbol-function #'corfu--format-candidates)
(lambda (cands)
- (setq cands (cdr (funcall orig cands)))
- (cl-loop for cand in cands for index from 0 do
+ (setq cands (funcall orig cands))
+ (cl-loop for cand in-ref (nth 2 cands) for index from 0 do
(pcase-let ((`(,keys . ,events) (corfu-quick--keys first index)))
- (setq list (nconc events list))
- (setf (cadr cand) (concat space1 (propertize " " 'display keys) space2))))
- (cons t cands)))
- ;; Increase minimum width to avoid odd jumping
- (corfu-min-width (+ 3 corfu-min-width)))
+ (setf list (nconc events list)
+ cand (concat keys (substring cand (min (length cand) (length keys)))))))
+ cands)))
(corfu--candidates-popup
(posn-at-point (+ (car completion-in-region--data) (length corfu--base))))
(alist-get (read-key) list)))