Add value column to {describe,helpful}-variable

This commit is contained in:
Henrik Lissner 2019-05-14 10:06:36 -04:00
parent 13a20866aa
commit 2fa2639d64
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 36 additions and 0 deletions

View file

@ -48,6 +48,33 @@ Buffers that are considered unreal (see `doom-real-buffer-p') are dimmed with
all-the-icons-ivy-name-fallback-for-buffer)) all-the-icons-ivy-name-fallback-for-buffer))
(all-the-icons-icon-for-file candidate)))) (all-the-icons-icon-for-file candidate))))
;;;###autoload
(defun +ivy-rich-describe-variable-transformer (cand)
"Previews the value of the variable in the minibuffer"
(let* ((sym (intern cand))
(val (and (boundp sym) (symbol-value sym)))
(print-level 3))
(replace-regexp-in-string
"[\n\t\^[\^M\^@\^G]" " "
(cond ((booleanp val)
(propertize (format "%s" val) 'face
(if (null val)
'font-lock-comment-face
'success)))
((symbolp val)
(propertize (format "'%s" val)
'face 'highlight-quoted-symbol))
((keymapp val)
(propertize "<keymap>" 'face 'font-lock-constant-face))
((listp val)
(prin1-to-string val))
((stringp val)
(propertize (format "%S" val) 'face 'font-lock-string-face))
((numberp val)
(propertize (format "%s" val) 'face 'highlight-numbers-number))
((format "%s" val)))
t)))
;; ;;
;; Library ;; Library

View file

@ -92,6 +92,15 @@ immediately runs it on the current candidate (ending the ivy session)."
(cadr (plist-get ivy-rich-display-transformers-list (cadr (plist-get ivy-rich-display-transformers-list
'ivy-switch-buffer)))) 'ivy-switch-buffer))))
;; Include variable value in `counsel-describe-variable'
(setq ivy-rich-display-transformers-list
(plist-put ivy-rich-display-transformers-list
'counsel-describe-variable
'(:columns
((counsel-describe-variable-transformer (:width 40)) ; the original transformer
(+ivy-rich-describe-variable-transformer (:width 50))
(ivy-rich-counsel-variable-docstring (:face font-lock-doc-face))))))
;; Remove built-in coloring of buffer list; we do our own ;; Remove built-in coloring of buffer list; we do our own
(setq ivy-switch-buffer-faces-alist nil) (setq ivy-switch-buffer-faces-alist nil)
(ivy-set-display-transformer 'internal-complete-buffer nil) (ivy-set-display-transformer 'internal-complete-buffer nil)