Make the read-face-name completion buffer display samples

* lisp/faces.el (read-face-name): Display face samples when
completing (bug#53255).

* lisp/hi-lock.el (hi-lock-read-face-name): Use read-face-name.
This commit is contained in:
Lars Ingebrigtsen 2022-01-20 14:22:05 +01:00
parent 10fbbddddd
commit 2de01ff1ba
2 changed files with 14 additions and 4 deletions

View file

@ -1107,6 +1107,16 @@ returned. Otherwise, DEFAULT is returned verbatim."
(let ((prompt (if default
(format-prompt prompt default)
(format "%s: " prompt)))
(completion-extra-properties
'(:affixation-function
(lambda (faces)
(mapcar
(lambda (face)
(list (concat (propertize "SAMPLE" 'face face)
"\t")
""
face))
faces))))
aliasfaces nonaliasfaces faces)
;; Build up the completion tables.
(mapatoms (lambda (s)

View file

@ -727,11 +727,11 @@ with completion and history."
(cdr (member last-used-face hi-lock-face-defaults))
hi-lock-face-defaults))
face)
(if (and hi-lock-auto-select-face (not current-prefix-arg))
(if (and hi-lock-auto-select-face (not current-prefix-arg))
(setq face (or (pop hi-lock--unused-faces) (car defaults)))
(setq face (completing-read
(format-prompt "Highlight using face" (car defaults))
obarray 'facep t nil 'face-name-history defaults))
(setq face (read-face-name
(format-prompt "Highlight using face" (car defaults))
defaults))
;; Update list of un-used faces.
(setq hi-lock--unused-faces (remove face hi-lock--unused-faces))
;; Grow the list of defaults.