Skip to content

Commit

Permalink
Allow truncating without using any ellipsis
Browse files Browse the repository at this point in the history
Depending on how bindings are displayed showing docstrings can result
in most lines being too long and adding ellipses to most lines can be
quite ugly and distracting.
  • Loading branch information
tarsius committed Aug 4, 2022
1 parent 08d57fe commit e993113
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions which-key.el
Original file line number Diff line number Diff line change
Expand Up @@ -142,13 +142,13 @@ the default is \" : \"."

(defcustom which-key-ellipsis
(if which-key-dont-use-unicode ".." "")
"Ellipsis to use when truncating. Default is \"\", unless
`which-key-dont-use-unicode' is non nil, in which case
the default is \"..\"."
"Ellipsis to use when truncating.
Default is \"\", unless `which-key-dont-use-unicode' is non nil,
in which case the default is \"..\". This can also be the empty
string to truncate without using any ellipsis."
:group 'which-key
:type 'string)


(defcustom which-key-prefix-prefix "+"
"String to insert in front of prefix commands (i.e., commands
that represent a sub-map). Default is \"+\"."
Expand Down Expand Up @@ -1604,10 +1604,13 @@ If KEY contains any \"special keys\" defined in
(function (let ((val (funcall max avl-width)))
(if (floatp val) (truncate val) val))))))
(if (and max (> (length desc) max))
(let* ((last-face (get-text-property (1- (length desc)) 'face desc))
(dots (which-key--propertize which-key-ellipsis
'face last-face)))
(concat (substring desc 0 (- max (length dots))) dots))
(let ((dots (and (not (equal which-key-ellipsis ""))
(which-key--propertize
which-key-ellipsis 'face
(get-text-property (1- (length desc)) 'face desc)))))
(if dots
(concat (substring desc 0 (- max (length dots))) dots)
(substring desc 0 max)))
desc)))

(defun which-key--highlight-face (description)
Expand Down

0 comments on commit e993113

Please sign in to comment.