summaryrefslogtreecommitdiff
path: root/elisp/geiser-autodoc.el
diff options
context:
space:
mode:
Diffstat (limited to 'elisp/geiser-autodoc.el')
-rw-r--r--elisp/geiser-autodoc.el13
1 files changed, 10 insertions, 3 deletions
diff --git a/elisp/geiser-autodoc.el b/elisp/geiser-autodoc.el
index 2f07b8e..3cb6204 100644
--- a/elisp/geiser-autodoc.el
+++ b/elisp/geiser-autodoc.el
@@ -171,7 +171,7 @@ when `geiser-autodoc-display-module-p' is on."
(when s (geiser-autodoc--str p s))))
-;;; Autodoc function:
+;;; Autodoc functions:
(make-variable-buffer-local
(defvar geiser-autodoc--inhibit-function nil))
@@ -180,12 +180,19 @@ when `geiser-autodoc-display-module-p' is on."
(and geiser-autodoc--inhibit-function
(funcall geiser-autodoc--inhibit-function)))
+(defsubst geiser-autodoc--autodoc-at-point ()
+ (geiser-autodoc--autodoc (geiser-syntax--scan-sexps)))
+
(defun geiser-autodoc--eldoc-function ()
(condition-case e
- (and (not (geiser-autodoc--inhibit))
- (geiser-autodoc--autodoc (geiser-syntax--scan-sexps)))
+ (and (not (geiser-autodoc--inhibit)) (geiser-autodoc--autodoc-at-point))
(error (format "Autodoc not available (%s)" (error-message-string e)))))
+(defun geiser-autodoc-show ()
+ "Show the signature or value of the symbol at point in the echo area."
+ (interactive)
+ (message (geiser-autodoc--autodoc-at-point)))
+
;;; Autodoc mode: