branch: externals/consult commit cc8eff9578f5d089735e8b7dd7a08732890ed648 Author: Daniel Mendler <m...@daniel-mendler.de> Commit: Daniel Mendler <m...@daniel-mendler.de>
consult-completing-read-multiple: Cleanup --- consult.el | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/consult.el b/consult.el index 57193ee..cdde0e2 100644 --- a/consult.el +++ b/consult.el @@ -2406,21 +2406,19 @@ These configuration options are supported: hist def inherit-input-method) "Enhanced replacement for `completing-read-multiple'. See `completing-read-multiple' for the documentation of the arguments." - (let* ((orig-items + (let* ((orig-items (all-completions "" table pred)) + (prefixed-orig-items (funcall (if-let (prefix (car consult-crm-prefix)) (apply-partially #'mapcar (lambda (item) (propertize item 'line-prefix prefix))) #'identity) - (all-completions "" table pred))) + orig-items)) (format-item (lambda (item) - (setq item (propertize - ;; Restore original candidate in order to preserve formatting - (or (get-text-property 0 'consult--crm-selected item) - (car (member item orig-items)) - item) - 'consult--crm-selected item - 'line-prefix (cdr consult-crm-prefix))) + ;; Restore original candidate in order to preserve formatting + (setq item (or (car (member item orig-items)) item) + item (propertize item 'consult--crm-selected item + 'line-prefix (cdr consult-crm-prefix))) (add-face-text-property 0 (length item) 'consult-crm-selected 'append item) item)) (separator (or (bound-and-true-p crm-separator) "[ \t]*,[ \t]*")) @@ -2444,7 +2442,7 @@ See `completing-read-multiple' for the documentation of the arguments." (consult--crm-history (append (mapcar #'substring-no-properties selected) hist-val)) (items (append selected (seq-remove (lambda (x) (member x selected)) - orig-items))) + prefixed-orig-items))) (orig-md (and (functionp table) (cdr (funcall table "" nil 'metadata)))) (group-fun (alist-get 'group-function orig-md)) (sort-fun @@ -2495,7 +2493,7 @@ See `completing-read-multiple' for the documentation of the arguments." consult--crm-history (append (mapcar #'substring-no-properties selected) hist-val) items (append selected (seq-remove (lambda (x) (member x selected)) - orig-items))) + prefixed-orig-items))) (when overlay (overlay-put overlay 'display (when selected