From 5568c780e1b609a18728c592c0f85d798b6a1a47 Mon Sep 17 00:00:00 2001 From: Wilfred Hughes Date: Mon, 6 Aug 2018 00:03:49 -0700 Subject: Show the default value in the minibuffer prompt Closes #139 --- CHANGELOG.md | 2 ++ helpful.el | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f95cf81..ed5be07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,8 @@ recognised as being autoloaded. Fixed an issue where we didn't show the source code for advised primitives. +Show the default value for the symbol in the minibuffer prompt. + # v0.12 Added a 'pretty view' for string values, keymap values, and hooks. diff --git a/helpful.el b/helpful.el index fb9ad44..4b99eae 100644 --- a/helpful.el +++ b/helpful.el @@ -2130,11 +2130,21 @@ escapes that are used by `substitute-command-keys'." docstring)) (defun helpful--read-symbol (prompt predicate) - (let ((sym-here (symbol-at-point))) + (let* ((sym-here (symbol-at-point)) + (default-val + (when (funcall predicate sym-here) + (symbol-name sym-here)))) + (when default-val + ;; TODO: Only modify the prompt when we don't have ido/ivy/helm, + ;; because the default is obvious for them. + (setq prompt + (replace-regexp-in-string + (rx ": " eos) + (format " (default: %s): " default-val) + prompt))) (read (completing-read prompt obarray predicate t nil nil - (when (funcall predicate sym-here) - (symbol-name sym-here)))))) + default-val)))) ;;;###autoload (defun helpful-function (symbol) -- cgit v1.0