source: project/release/4/vandusen/trunk/vandusen-doc.scm @ 18259

Last change on this file since 18259 was 18259, checked in by Moritz Heidkamp, 11 years ago

vandusen: initial import

File size: 965 bytes
Line 
1(module vandusen-doc ()
2
3(import chicken scheme data-structures)
4(require-extension regex)
5(import irregex)
6(use vandusen chicken-doc uri-common)
7
8(plugin 'doc
9        (lambda ()
10          (command 'doc
11                   '(: "doc" (+ space) (submatch (+ any)))
12                   (let* ((base-uri (uri-reference "http://3e8.org/chickadee"))
13                          (format-results (lambda (results)
14                                            (string-intersperse (map (lambda (signature path)
15                                                                       (conc signature "  "
16                                                                             (uri->string (update-uri base-uri
17                                                                                                      path: (append (uri-path base-uri)
18                                                                                                                    (map symbol->string path))))))
19                                                                     (map node-signature results)
20                                                                     (map node-path results))
21                                                                "\n"))))
22                     (lambda (message term)
23                       (let ((results (match-nodes (irregex term))))
24                         (reply-to message
25                                   (if (null? results)
26                                       (format "sorry, I couldn't find any docs matching ~S" term)
27                                       (format-results results))
28                                   prefixed: #f))))
29                   public: #t))))
Note: See TracBrowser for help on using the repository browser.