Function: majutsu-completing-read-multiple

majutsu-completing-read-multiple is a natively compiled function defined in majutsu-base.el.

Signature

(majutsu-completing-read-multiple PROMPT COLLECTION &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF CATEGORY)

Documentation

Read multiple choices with completion, preserving CATEGORY metadata.

Like completing-read-multiple but uses format-prompt and supports CATEGORY. COLLECTION may contain plain strings or
(CANDIDATE . ANNOTATION) items.

When REQUIRE-MATCH is any, require at least one non-empty input without requiring a candidate match.

Source Code

;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-base.el
(defun majutsu-completing-read-multiple (prompt collection &optional predicate require-match
                                                initial-input hist def category)
  "Read multiple choices with completion, preserving CATEGORY metadata.
Like `completing-read-multiple' but uses `format-prompt' and supports
CATEGORY.  COLLECTION may contain plain strings or
(CANDIDATE . ANNOTATION) items.

When REQUIRE-MATCH is `any', require at least one non-empty input without
requiring a candidate match."
  (let* ((completion-extra-properties
          (if (listp collection)
              (majutsu-completion-items-properties collection category)
            (majutsu-completion-properties category)))
         (values (completing-read-multiple (format-prompt prompt def)
                                           collection predicate
                                           (if (eq require-match 'any) nil require-match)
                                           initial-input hist def)))
    (when (and (eq require-match 'any) (null values))
      (user-error "Nothing selected"))
    values))