Function: dape-hover-function
dape-hover-function is a natively compiled function defined in
dape.el.
Signature
(dape-hover-function CB)
Documentation
Hook function to produce doc strings for eldoc.
On success calls CB with the doc string.
See eldoc-documentation-functions, for more information.
Source Code
;; Defined in /nix/store/1fiaif8pifqj2jh65rbg3fkhg3i56q42-emacs-packages-deps/share/emacs/site-lisp/elpa/dape-0.27.1/dape.el
;;; Hover
(defun dape-hover-function (cb)
"Hook function to produce doc strings for `eldoc'.
On success calls CB with the doc string.
See `eldoc-documentation-functions', for more information."
(when-let* ((conn (dape--live-connection 'last t))
((dape--capable-p conn :supportsEvaluateForHovers))
(symbol (thing-at-point 'symbol))
(name (substring-no-properties symbol))
(id (plist-get (dape--current-stack-frame conn) :id)))
(dape--with-request-bind
(body error)
(dape--evaluate-expression conn id name "hover")
(unless error
(dape--with-request
(dape--variables-recursive conn `(:variables (,body)) '(hover)
#'dape--variable-expanded-p)
(let ((table (make-gdb-table)))
(dape--info-scope-add-variable table (plist-put body :name name)
nil '(hover) #'dape--variable-expanded-p
'no-handles)
(funcall cb (gdb-table-string table " ")))))))
t)