;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. #@58 List of entries currently added during a `multi-prompt'. (defvar multi-prompt-found nil (#$ . 87)) #@389 Completing prompt for a list of strings. The first argument SEPARATOR should be the string (of length 1) to separate the elements in the list. The second argument UNIQUE should be non-nil, if each element must be unique. The remaining elements are the arguments to `completing-read'. See that. (fn SEPARATOR UNIQUE PROMPT TABLE &optional MP-PREDICATE REQUIRE-MATCH INITIAL HISTORY) (defalias 'multi-prompt #[2052 "\203\202 \303 \304\"\210\305 \203\306\202\307#\210\305\310\311#\210\211\211\312\2039\313\314\"\202:\3152\213\3072T\316\315\317     &\"0\211\320=\203x\n\203\207 \321\211GZ\n@GZO\262\n\n@\262\nA\210\202>  Q\262\n\312\262\211\nB\210\202>\211\322\230\203\225\n\202\231\211\nB\237+\207" [minibuffer-local-must-match-map minibuffer-local-completion-map multi-prompt-found make-sparse-keymap set-keymap-parent define-key multi-prompt-next-must-match multi-prompt-next "" multi-prompt-delete nil make-closure #[257 "\211@ \235?\205\300?\206\300!\207" [V0 multi-prompt-found] 3 "\n\n(fn X)"] multi-prompt-exit throw completing-read back 0 ""] 20 (#$ . 193)]) (defalias 'multi-prompt-delete #[0 "o\203 \300\301\302\"\207\303\304!\207" [throw multi-prompt-next back call-interactively backward-delete-char] 3 nil nil]) (defalias 'multi-prompt-next #[0 "\300\301\302 \"\207" [throw multi-prompt-next minibuffer-contents-no-properties] 3 nil nil]) (defalias 'multi-prompt-next-must-match #[0 "\301\302!\205\303 \304\"\205\305\306\"\262\207" [minibuffer-completion-table call-interactively minibuffer-complete minibuffer-contents-no-properties assoc throw multi-prompt-next] 4 nil nil]) #@53 Single-character string separating key=value pairs. (defvar multi-prompt-key-value-sep "=" (#$ . 1859)) #@52 Completion table used by `multi-prompt-key-value'. (defvar multi-prompt-completion-table nil (#$ . 1969)) #@595 Function used by `multi-prompt-key-value' to compute completion values. The value of STRING is the string to be completed. The value of PREDICATE is a function to filter possible matches, or nil if none. The value of FLAG is used to specify the type of completion operation. A value of nil specifies `try-completion'. A value of t specifies `all-completions'. A value of lambda specifes a test for an exact match. For more information on STRING, PREDICATE, and FLAG, see the Elisp Reference sections on 'Programmed Completion' and 'Basic Completion Functions'. (fn STRING PREDICATE FLAG) (defalias 'multi-prompt-key-value-collection-fn #[771 "\302\211\303\304#\203\305\262\262\302\225\262\202\306\302O\204' \2023\307SO \"A@\303O%\207" [multi-prompt-key-value-sep multi-prompt-completion-table 0 nil string-match t completion-table-with-context assoc] 12 (#$ . 2082)]) #@152 Return an expanded version of completion table TABLE. This is achieved by eval'ing all variables in the value parts of the alist elements. (fn TABLE) (defalias 'multi-prompt-expand-completion-table #[257 "\300\301\"\207" [mapcar #[257 "\211A@\203 \211A@9\203 \300A@!\204 \211@\301A@\302\"CB\207\207" [functionp eval t] 5 "\n\n(fn X)"]] 4 (#$ . 2994)]) #@625 Read multiple strings, with completion and key=value support. PROMPT is a string to prompt with, usually ending with a colon and a space. TABLE is an alist. The car of each element should be a string representing a key and the optional cdr should be a list with strings to be used as values for the key. See the documentation for `completing-read' for details on the other arguments: PREDICATE, REQUIRE-MATCH, INITIAL-INPUT, HIST, DEF, and INHERIT-INPUT-METHOD. The return value is the string as entered in the minibuffer. (fn PROMPT TABLE &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD) (defalias 'multi-prompt-key-value #[2050 "\306\307=?\205\f\310!\203\f\202 \311 \312&\2037\211\313\230\2037\262,\207" [minibuffer-completion-table minibuffer-completion-predicate minibuffer-completion-confirm multi-prompt-completion-table crm-local-must-match-map crm-local-completion-map multi-prompt-key-value-collection-fn t multi-prompt-expand-completion-table read-from-minibuffer nil ""] 17 (#$ . 3360)]) (provide 'multi-prompt)