Function: consult--multi-items

consult--multi-items is a byte-compiled function defined in consult.el.

Signature

(consult--multi-items IDX SRC ITEMS)

Documentation

Create completion candidate strings from ITEMS.

Attach source IDX and SRC properties to each item.

Source Code

;; Defined in ~/.emacs.d/elpa/consult-20260805.1130/consult.el
(defun consult--multi-items (idx src items)
  "Create completion candidate strings from ITEMS.
Attach source IDX and SRC properties to each item."
  (unless (listp items)
    (setq items (plist-get src :items)
          items (if (functionp items) (funcall items) items)))
  (let ((face (plist-get src :face))
        (cat (or (plist-get src :category) 'general)))
    (cl-loop
     for item in items collect
     (let* ((str (or (car-safe item) item))
            (len (length str))
            (cand (consult--tofu-append str idx)))
       ;; Preserve existing `multi-category' datum of the candidate.
       (unless (and (eq str item) (get-text-property 0 'multi-category str))
         (put-text-property 0 len 'multi-category (cons cat (or (cdr-safe item) item)) cand))
       (when face
         (add-face-text-property 0 len face t cand))
       cand))))