]> git.eshelyaron.com Git - emacs.git/commitdiff
Hide eldoc-message on empty hover info
authorAndrii Kolomoiets <andreyk.mad@gmail.com>
Thu, 23 Apr 2020 07:44:12 +0000 (10:44 +0300)
committerJoão Távora <joaotavora@gmail.com>
Mon, 27 Apr 2020 18:08:07 +0000 (19:08 +0100)
Co-authored-by: João Távora <joaotavora@gmail.com>
* eglot.el (eglot-eldoc-function): Pass nil to eglot--update-doc
on empty hover info.
(eglot--update-doc): Skip update eglot help buffer if string
is nil.

GitHub-reference: close https://github.com/joaotavora/eglot/issues/439

lisp/progmodes/eglot.el

index 13571d4315c00294f254a4b517140f820c2d6f6c..c485b4e2dddc6238168dd363e9bd68ce72ae64e0 100644 (file)
@@ -2259,10 +2259,12 @@ Buffer is displayed with `display-buffer', which obeys
 (defun eglot--update-doc (string hint)
   "Put updated documentation STRING where it belongs.
 Honours `eglot-put-doc-in-help-buffer'.  HINT is used to
-potentially rename EGLOT's help buffer."
-  (if (or (eq t eglot-put-doc-in-help-buffer)
-          (and eglot-put-doc-in-help-buffer
-               (funcall eglot-put-doc-in-help-buffer string)))
+potentially rename EGLOT's help buffer.  If STRING is nil, the
+echo area cleared of any previous documentation."
+  (if (and string
+           (or (eq t eglot-put-doc-in-help-buffer)
+               (and eglot-put-doc-in-help-buffer
+                    (funcall eglot-put-doc-in-help-buffer string))))
       (with-current-buffer (eglot--help-buffer)
         (let ((inhibit-read-only t)
               (name (format "*eglot-help for %s*" hint)))
@@ -2314,10 +2316,10 @@ potentially rename EGLOT's help buffer."
          :success-fn (eglot--lambda ((Hover) contents range)
                        (unless sig-showing
                          (when-buffer-window
-                          (when-let (info (and (not (seq-empty-p contents))
-                                               (eglot--hover-info contents
-                                                                  range)))
-                            (eglot--update-doc info thing-at-point)))))
+                          (eglot--update-doc (and (not (seq-empty-p contents))
+                                                  (eglot--hover-info contents
+                                                                     range))
+                                             thing-at-point))))
          :deferred :textDocument/hover))
       (when (eglot--server-capable :documentHighlightProvider)
         (jsonrpc-async-request