diff --git a/README b/README index e97ff46..7972d43 100644 --- a/README +++ b/README @@ -7,7 +7,7 @@ for more details. Quickstart: -1) chicken-install fmt symbol-utils apropos +1) chicken-install fmt symbol-utils apropos chicken-doc 2) Add chicken-slime.el to your Emacs load-path diff --git a/swank-chicken.scm b/swank-chicken.scm index 0c86376..38cea62 100644 --- a/swank-chicken.scm +++ b/swank-chicken.scm @@ -24,6 +24,7 @@ (require 'posix) (require-extension symbol-utils apropos + chicken-doc fmt) @@ -438,7 +439,12 @@ (apropos-information-list prefix))))) `(:ok (,comps ,(if (= (length comps) 1) (car comps) - prefix))))) + prefix))))) + +(define (swank:describe-symbol sym) + `(:ok ,(with-output-to-string + (lambda () + (doc-dwim sym))))) ;; Unimplemented. (define (swank:buffer-first-change . _) '(:ok nil)) diff --git a/swank.scm b/swank.scm index dadaf8f..1e5cd1c 100644 --- a/swank.scm +++ b/swank.scm @@ -18,7 +18,8 @@ swank:buffer-first-change swank:filename-to-modulename swank:find-definitions-for-emacs - swank:swank-require) + swank:swank-require + swank:describe-symbol) (import scheme chicken) (use ports