mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-06 05:52:32 -08:00
Handle null description in which-key--propertize-description
Fixes #186
This commit is contained in:
parent
adc0d660ad
commit
e5db4b6256
1 changed files with 29 additions and 27 deletions
56
which-key.el
56
which-key.el
|
|
@ -1553,33 +1553,35 @@ removing a \"group:\" prefix.
|
|||
|
||||
ORIGINAL-DESCRIPTION is the description given by
|
||||
`describe-buffer-bindings'."
|
||||
(let* ((desc description)
|
||||
(desc (if (string-match-p "^group:" desc)
|
||||
(substring desc 6) desc))
|
||||
(desc (if group (concat which-key-prefix-prefix desc) desc)))
|
||||
(make-text-button desc nil
|
||||
'face (cond (hl-face hl-face)
|
||||
(group 'which-key-group-description-face)
|
||||
(local 'which-key-local-map-description-face)
|
||||
(t 'which-key-command-description-face))
|
||||
'help-echo (cond
|
||||
((and original-description
|
||||
(fboundp (intern original-description))
|
||||
(documentation (intern original-description))
|
||||
;; tooltip-mode doesn't exist in emacs-nox
|
||||
(boundp 'tooltip-mode) tooltip-mode)
|
||||
(documentation (intern original-description)))
|
||||
((and original-description
|
||||
(fboundp (intern original-description))
|
||||
(documentation (intern original-description))
|
||||
(let* ((doc (documentation
|
||||
(intern original-description)))
|
||||
(str (replace-regexp-in-string "\n" " " doc))
|
||||
(max (floor (* (frame-width) 0.8))))
|
||||
(if (> (length str) max)
|
||||
(concat (substring str 0 max) "...")
|
||||
str))))))
|
||||
desc))
|
||||
(when description
|
||||
(let* ((desc description)
|
||||
(desc (if (string-match-p "^group:" desc)
|
||||
(substring desc 6) desc))
|
||||
(desc (if group (concat which-key-prefix-prefix desc) desc)))
|
||||
(make-text-button
|
||||
desc nil
|
||||
'face (cond (hl-face hl-face)
|
||||
(group 'which-key-group-description-face)
|
||||
(local 'which-key-local-map-description-face)
|
||||
(t 'which-key-command-description-face))
|
||||
'help-echo (cond
|
||||
((and original-description
|
||||
(fboundp (intern original-description))
|
||||
(documentation (intern original-description))
|
||||
;; tooltip-mode doesn't exist in emacs-nox
|
||||
(boundp 'tooltip-mode) tooltip-mode)
|
||||
(documentation (intern original-description)))
|
||||
((and original-description
|
||||
(fboundp (intern original-description))
|
||||
(documentation (intern original-description))
|
||||
(let* ((doc (documentation
|
||||
(intern original-description)))
|
||||
(str (replace-regexp-in-string "\n" " " doc))
|
||||
(max (floor (* (frame-width) 0.8))))
|
||||
(if (> (length str) max)
|
||||
(concat (substring str 0 max) "...")
|
||||
str))))))
|
||||
desc)))
|
||||
|
||||
(defun which-key--extract-key (key-str)
|
||||
"Pull the last key (or key range) out of KEY-STR."
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue