1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-05 05:21:26 -08:00

Fix text replacement alist

Conflicts:
	which-key.el
This commit is contained in:
justbur 2015-07-02 19:08:15 -04:00
parent 04708f29d8
commit d57fca695d

View file

@ -32,10 +32,10 @@
'((">". "") ("<" . "") ("left" ."") ("right" . ""))
"The strings in the car of each cons cell are replaced with the
strings in the cdr for each key.")
(defvar which-key-description-replacement-alist nil
(defvar which-key-general-replacement-alist nil
"See `which-key-key-replacement-alist'. This is a list of cons
cells for replacing the description of keys (usually the name
of the corresponding function).")
cells for replacing any text, keys and descriptions. You can
also use elisp regexp in the car of the cells.")
(defvar which-key-buffer-name "*which-key*"
"Name of which-key buffer.")
(defvar which-key-buffer-position 'bottom
@ -92,9 +92,13 @@ length."
which is an alist where the car of each element is the text to
replace and the cdr is the replacement text. "
(dolist (rep replacements)
(save-excursion
(while (search-forward (car rep) nil t)
(replace-match (cdr rep) nil t)))))
(let ((trunc-car (which-key/truncate-description (car rep)))
old-face)
(save-excursion
(while (or (search-forward (car rep) nil t)
(search-forward trunc-car nil t))
(setq old-face (get-text-property (match-beginning 0) 'face))
(replace-match (propertize (cdr rep) 'face old-face) nil t))))))
(defun which-key/get-vertical-buffer-width (max-len-key max-len-desc)
(min which-key-vertical-buffer-width (+ 3 max-len-desc max-len-key)))
@ -148,11 +152,12 @@ replace and the cdr is the replacement text. "
unformatted)))
(with-current-buffer (get-buffer which-key--buffer)
(erase-buffer)
(setq vertical-buffer-width (which-key/get-vertical-buffer-width max-len-desc max-len-key))
(setq buffer-line-breaks
(setq vertical-buffer-width
(which-key/get-vertical-buffer-width max-len-desc max-len-key)
buffer-line-breaks
(which-key/insert-keys formatted (unless bottom-or-top vertical-buffer-width)))
(goto-char (point-min))
(which-key/replace-strings-from-alist which-key-description-replacement-alist)
(which-key/replace-strings-from-alist which-key-general-replacement-alist)
(if bottom-or-top
(setq buffer-height (+ 2 buffer-line-breaks))
(setq buffer-width vertical-buffer-width)))