1 ;;; -*- lisp; show-trailing-whitespace: t; indent-tabs: nil -*-
3 ;;;; Part of this software was originally written as docstrings.lisp in
4 ;;;; SBCL, but is now part of the parse-docstrings project. The file
5 ;;;; docstrings.lisp was written by Rudi Schlatte <rudi@constantly.at>,
6 ;;;; mangled by Nikodemus Siivola, turned into a stand-alone project by
7 ;;;; Luis Oliveira. SBCL is in the public domain and is provided with
8 ;;;; absolutely no warranty.
10 ;;;; parse-docstrings is:
12 ;;;; Copyright (c) 2008 David Lichteblau:
14 ;;;; Permission is hereby granted, free of charge, to any person
15 ;;;; obtaining a copy of this software and associated documentation
16 ;;;; files (the "Software"), to deal in the Software without
17 ;;;; restriction, including without limitation the rights to use, copy,
18 ;;;; modify, merge, publish, distribute, sublicense, and/or sell copies
19 ;;;; of the Software, and to permit persons to whom the Software is
20 ;;;; furnished to do so, subject to the following conditions:
22 ;;;; The above copyright notice and this permission notice shall be
23 ;;;; included in all copies or substantial portions of the Software.
25 ;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
26 ;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
27 ;;;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
28 ;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
29 ;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
30 ;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
31 ;;;; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
32 ;;;; DEALINGS IN THE SOFTWARE.
34 (defpackage #:parse-docstrings
35 (:use
#:cl
#:c2mop
:iterate
)
36 (:export
#:documentation
*
37 #:collect-documentation
38 #:collect-symbol-documentation
43 (:export
#:markup-element
61 #:definition-list-item
63 #:inline-cross-reference
85 #:make-definition-list
86 #:make-definition-list-item
88 #:make-unknown-element
89 #:make-inline-cross-reference
)
91 (:export
#:documentation-annotations
92 #:cross-reference-annotation
93 #:parameter-annotation
95 #:implementation-note-annotation
97 #:argument-annotations
98 #:return-value-annotations
99 #:condition-annotations
100 #:slot-accessor-annotations
101 #:constructor-annotations
102 #:see-also-annotations
103 #:cross-reference-target
104 #:cross-reference-doc-type
106 #:make-parameter-annotation
107 #:make-cross-reference-annotation
111 (:export
#:missing-symbol
112 #:missing-symbol-name
113 #:missing-symbol-package-name
115 #:look-up-missing-symbol
)
117 (:export
#:markup-to-sexp
120 (defpackage #:parse-docstrings.sbcl
122 (:export
#:parse-docstring
))
124 (defpackage #:parse-docstrings.atsign
126 (:export
#:parse-docstring
))