@kindex C-h .
@findex display-local-help
@vindex help-at-pt-display-when-idle
+@vindex eldoc-help-at-pt
On terminals that don't support mouse-tracking, you can display the
help text for active buffer text at point by typing @kbd{C-h .}
(@code{display-local-help}). This shows the help text in the echo
area. To display help text automatically whenever it is available at
point, set the variable @code{help-at-pt-display-when-idle} to
-@code{t}.
+@code{t}. If you use Eldoc, set the variable @code{eldoc-help-at-pt}
+to @code{t} instead.
(const :tag "Skip echo area if truncating" maybe))
:version "28.1")
+(defcustom eldoc-help-at-pt nil
+ "If non-nil, show `help-at-pt-kbd-string' at point via Eldoc.
+This setting is an alternative to `help-at-pt-display-when-idle'. If
+the value is non-nil, `eldoc-show-help-at-pt' will show help-at-point
+via Eldoc."
+ :type 'boolean)
+
(defface eldoc-highlight-function-argument
'((t (:inherit bold)))
"Face used for the argument at point in a function's argument list.
(overlay-end show-paren--overlay)))))))
\f
-(defvar eldoc-documentation-functions nil
+(defvar eldoc-documentation-functions (list #'eldoc-show-help-at-pt)
"Hook of functions that produce doc strings.
A doc string is typically relevant if point is on a function-like
(setq eldoc--last-request-state token)
(eldoc--invoke-strategy nil))))))
+(defun eldoc-show-help-at-pt (&rest _)
+ "Show help at point via Eldoc if `eldoc-help-at-pt' is non-nil.
+Intended for `eldoc-documentation-functions' (which see)."
+ (when-let* ((help (and eldoc-help-at-pt (help-at-pt-kbd-string))))
+ (format "Help: %s" (substitute-command-keys help))))
+
\f
;; This section only affects ElDoc output to the echo area, as in
;; `eldoc-display-in-echo-area'.
enabling buffer local values. It sets the actual value to nil.
Thus, Custom distinguishes between a nil value and other values
that disable the feature, which Custom identifies with `never'.
-The default is `never'."
+The default is `never'.
+
+Eldoc uses the echo area to display documentation. As such it
+conflicts with `help-at-pt-display-when-idle' due to the use of
+the echo area. If you use Eldoc, consider setting
+`eldoc-help-at-pt' instead."
:group 'help-at-pt
:type '(choice (const :tag "Always"
:format "%t\n%h"