]> git.eshelyaron.com Git - emacs.git/commitdiff
Reduce eldoc noise from hover messages
authorjicksaw <jicksaw@pm.me>
Thu, 30 Jun 2022 07:39:33 +0000 (10:39 +0300)
committerGitHub <noreply@github.com>
Thu, 30 Jun 2022 07:39:33 +0000 (08:39 +0100)
Also close https://github.com/joaotavora/eglot/issues/985

Only echo hover response content, without response range.

LSP specification says the range is meant to visualize a hover.
Maybe echoing the range is useful for some, but it seems
non-standard behavior.

Example issue: haskell-language-server responds with range set to
whole file when hovering a comment -> Large, useless eldoc

* eglot.el (eglot--hover-info): Remove text selected by range from
output

Copyright-paperwork-exempt: Yes
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/514

lisp/progmodes/eglot.el

index bde4a23f8e4157cad102cc5c48a52e67ce18d31d..b058183fb9646e6c031577be8eb98d299ce68b3a 100644 (file)
@@ -2711,13 +2711,10 @@ for which LSP on-type-formatting should be requested."
                (eglot--signal-textDocument/didChange)
                (eldoc)))))))))
 
-(defun eglot--hover-info (contents &optional range)
-  (let ((heading (and range (pcase-let ((`(,beg . ,end) (eglot--range-region range)))
-                              (concat (buffer-substring beg end)  ": "))))
-        (body (mapconcat #'eglot--format-markup
-                         (if (vectorp contents) contents (list contents)) "\n")))
-    (when (or heading (cl-plusp (length body))) (concat heading body))))
-
+(defun eglot--hover-info (contents &optional _range)
+  (mapconcat #'eglot--format-markup
+             (if (vectorp contents) contents (list contents)) "\n"))
 (defun eglot--sig-info (sigs active-sig sig-help-active-param)
   (cl-loop
    for (sig . moresigs) on (append sigs nil) for i from 0