Merge pull request from Fuco1/variable-col-width

Add variable column width
GitHub-reference: https://github.com/jwiegley/use-package/issues/90
This commit is contained in:
John Wiegley 2014-02-18 16:36:18 -06:00
commit 0f7d54d1db

View file

@ -88,6 +88,11 @@
"A simple way to manage personal keybindings"
:group 'emacs)
(defcustom bind-key-column-widths '(18 . 40)
"Width of columns in `describe-personal-keybindings'."
:type '(cons integer integer)
:group 'bind-key)
(defcustom bind-key-segregation-regexp
"\\`\\(\\(C-[chx] \\|M-[gso] \\)\\([CM]-\\)?\\|.+-\\)"
"Regular expression used to divide key sets in the output from
@ -244,9 +249,11 @@ function symbol (unquoted)."
"Display all the personal keybindings defined by `bind-key'."
(interactive)
(with-output-to-temp-buffer "*Personal Keybindings*"
(princ "Key name Command Comments
----------------- --------------------------------------- ---------------------
")
(princ (format "Key name%s Command%s Comments\n%s %s ---------------------\n"
(make-string (- (car bind-key-column-widths) 9) ? )
(make-string (- (cdr bind-key-column-widths) 8) ? )
(make-string (1- (car bind-key-column-widths)) ?-)
(make-string (1- (cdr bind-key-column-widths)) ?-)))
(let (last-binding)
(dolist (binding
(setq personal-keybindings
@ -257,7 +264,7 @@ function symbol (unquoted)."
(if (not (eq (cdar last-binding) (cdar binding)))
(princ (format "\n\n%s\n%s\n\n"
(cdar binding)
(make-string 79 ?-)))
(make-string (+ 21 (car bind-key-column-widths) (cdr bind-key-column-widths)) ?-)))
(if (and last-binding
(cdr (compare-keybindings last-binding binding)))
(princ "\n")))
@ -275,7 +282,7 @@ function symbol (unquoted)."
)
(let ((line
(format
"%-18s%-40s%s\n"
(format "%%-%ds%%-%ds%%s\n" (car bind-key-column-widths) (cdr bind-key-column-widths))
key-name (format "`%s\'" command-desc)
(if (string= command-desc at-present-desc)
(if (or (null was-command)