The documentation-utils-extensions Reference Manual

This is the documentation-utils-extensions Reference Manual, version 0.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:18:44 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 documentation-utils-extensions

Set of extensions for documentation-utils.

Maintainer

Marek Kochanowicz

Author

Marek Kochanowicz

License

MIT

Version

0.0.0

Dependency

documentation-utils (system).

Source

documentation-utils-extensions.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 documentation-utils-extensions/documentation-utils-extensions.asd

Source

documentation-utils-extensions.asd.

Parent Component

documentation-utils-extensions (system).

ASDF Systems

documentation-utils-extensions.


3.1.3 documentation-utils-extensions/variables.lisp

Dependency

package.lisp (file).

Source

documentation-utils-extensions.asd.

Parent Component

documentation-utils-extensions (system).

Public Interface

3.1.4 documentation-utils-extensions/classes.lisp

Dependency

variables.lisp (file).

Source

documentation-utils-extensions.asd.

Parent Component

documentation-utils-extensions (system).

Public Interface
Internals

read-content (reader method).


3.1.5 documentation-utils-extensions/methods.lisp

Dependency

classes.lisp (file).

Source

documentation-utils-extensions.asd.

Parent Component

documentation-utils-extensions (system).

Public Interface
Internals

3.1.6 documentation-utils-extensions/functions.lisp

Dependency

methods.lisp (file).

Source

documentation-utils-extensions.asd.

Parent Component

documentation-utils-extensions (system).

Public Interface

3.1.7 documentation-utils-extensions/documentation.lisp

Dependency

functions.lisp (file).

Source

documentation-utils-extensions.asd.

Parent Component

documentation-utils-extensions (system).


4 Packages

Packages are listed by definition order.


4.1 documentation-utils-extensions

Source

package.lisp.

Nickname

docs.ext

Use List

common-lisp.

Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Special variables

Special Variable: *documentation*

Examples:
–Disable gathering, (defparameter docs.ext:*documentation* nil)
–Enable gathering, (defparameter docs.ext:*documentation* (docs.ext:make-documentation-collection))

Package

documentation-utils-extensions.

Source

variables.lisp.

Special Variable: *documentation-sections*

Description:
Alist used by RICH-FORMATTER to determine sections of documentation. Maps symbols to section names.. RICH-FORMATTER will always use order of formatting identical to that provided by this list.

Package

documentation-utils-extensions.

Source

variables.lisp.


5.1.2 Ordinary functions

Function: clear-documentation ()

Description:
Removes everything from *DOCUMENTATION*. Does nothing if *DOCUMENTATION* is bound to nil.

Package

documentation-utils-extensions.

Source

functions.lisp.

Function: execute-documentation (&key package label type)

Description:
Calls SELECT-DOCUMENTATION first, then attempts to read-from-string, compile and execute each result. Works with sections containing pure strings as well as lists of strings. In the second case, whole paragraph is executed in one go.

Returns:
Always nil

Exceptional situations:
Does not attempt to handle errors signaled by either read or compile. Simply assumes that paragraph should contain valid Lisp code.

Notes:
This function is used most often with respect to :EXAMPLES section.

Package

documentation-utils-extensions.

Source

functions.lisp.

Function: find-documentation (type name)

Arguments:
–TYPE, Type, as specified by documentation-utils.
–NAME, Name, as specified by documentation-utils.

Description:
Attempts to find aggregated documentation. Will fail if *DOCUMENTATION* is bound to nil, or there is no object of type and name in it.

Returns:
–FIRST, Arguments, as passed to the formatter. NIL if not found.
–SECOND, Boolean. T if documentation was found, NIL otherwise.

Package

documentation-utils-extensions.

Source

functions.lisp.

Function: make-documentation-collection ()
Package

documentation-utils-extensions.

Source

classes.lisp.

Function: select-documentation (&key package label type)

Description:
Selects all sections with LABEL from *documentation* documenting object named by symbols from PACKAGE and TYPE. LABEL, PACKAGE and TYPE may be: just a symbol, list of symbols (will return union) or nil (will disable filtering).

Package

documentation-utils-extensions.

Source

functions.lisp.


5.1.3 Generic functions

Generic Reader: read-documentation-sections (object)
Package

documentation-utils-extensions.

Methods
Reader Method: read-documentation-sections ((rich-formatter rich-formatter))

automatically generated reader method

Source

classes.lisp.

Target Slot

%documentation-sections.


5.1.4 Standalone methods

Method: format-documentation :after ((formatter aggregating-formatter) type name arguments)
Package

documentation-utils.

Source

methods.lisp.

Method: format-documentation ((formatter rich-formatter) type name (arguments list))
Package

documentation-utils.

Source

methods.lisp.

Method: reinitialize-instance ((documentation documentation-collection) &rest initargs)
Source

methods.lisp.


5.1.5 Classes

Class: aggregating-formatter

Description:
Use subclass of this formatter to enable documentation gathering into *DOCUMENTATION*

Notes:
Existing format-documentation specialization uses :after specializer. This approach is condition safe.

Package

documentation-utils-extensions.

Source

classes.lisp.

Direct superclasses

documentation-formatter.

Direct subclasses

rich-aggregating-formatter.

Direct methods

format-documentation.

Class: documentation-collection

Description:
Class used to map type and name to arguments of define-docs.

Notes:
See MAKE-DOCUMENTATION-COLLECTION, *DOCUMENTATION* and FIND-DOCUMENTATION for more information.

Package

documentation-utils-extensions.

Source

classes.lisp.

Direct methods
Direct slots
Slot: %content

Stores tree as nested hash-table: type>name>original arguments

Type

hash-table

Initform

(make-hash-table)

Readers

read-content.

Writers

This slot is read-only.

Class: rich-aggregating-formatter

Description:
Combines rich-formatter and aggregating formatter into one class.

Package

documentation-utils-extensions.

Source

classes.lisp.

Direct superclasses
Class: rich-formatter

Description:
Subclass of documentation-formatter, with rich formatting arguments. Those include: :arguments, :examples, :description, :returns, :side-effects and :notes.

Notes:
–Will simply ignore unknown arguments.
–Values passed may be in the form of strings, or lists.
–Nested lists (just first level) are printed using (format stream " –~{~a~^, ~}~%" x).
–Above is handy when specifing (for instance) :arguments. First element of list may designate argument name, second can contain description of the argument.

Package

documentation-utils-extensions.

Source

classes.lisp.

Direct superclasses

documentation-formatter.

Direct subclasses

rich-aggregating-formatter.

Direct methods
Direct slots
Slot: %documentation-sections
Initform

documentation-utils-extensions:*documentation-sections*

Initargs

:documentation-sections

Readers

read-documentation-sections.

Writers

This slot is read-only.


5.2 Internals


5.2.1 Generic functions

Generic Function: %clear-documentation (documentation)
Package

documentation-utils-extensions.

Source

methods.lisp.

Methods
Method: %clear-documentation ((documentation (eql nil)))
Method: %clear-documentation ((documentation documentation-collection))
Generic Function: %find-documentation (documentation type name)
Package

documentation-utils-extensions.

Source

methods.lisp.

Methods
Method: %find-documentation ((documentation-collection (eql nil)) type name)
Method: %find-documentation ((documentation documentation-collection) type name)
Generic Function: %select-documentation (documentation package label type)
Package

documentation-utils-extensions.

Source

methods.lisp.

Methods
Method: %select-documentation ((documentation documentation-collection) package label type)
Method: %select-documentation ((documentation (eql nil)) package label type)
Generic Function: format-to-stream (formatter stream section-name documentation-form first-item)
Package

documentation-utils-extensions.

Source

methods.lisp.

Methods
Method: format-to-stream (formatter stream section-name (arguments list) first-item)
Method: format-to-stream ((formatter rich-formatter) stream (section-name string) arguments first-item)
Method: format-to-stream (formatter stream section-name (arguments string) first-item)
Generic Function: insert-documentation (documentation type name arguments)
Package

documentation-utils-extensions.

Source

methods.lisp.

Methods
Method: insert-documentation ((documentation (eql nil)) type name arguments)
Method: insert-documentation ((documentation documentation-collection) type name arguments)
Generic Reader: read-content (object)
Package

documentation-utils-extensions.

Methods
Reader Method: read-content ((documentation-collection documentation-collection))

Stores tree as nested hash-table: type>name>original arguments

Source

classes.lisp.

Target Slot

%content.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %  
C   E   F   G   I   M   R   S  
Index Entry  Section

%
%clear-documentation: Private generic functions
%clear-documentation: Private generic functions
%clear-documentation: Private generic functions
%find-documentation: Private generic functions
%find-documentation: Private generic functions
%find-documentation: Private generic functions
%select-documentation: Private generic functions
%select-documentation: Private generic functions
%select-documentation: Private generic functions

C
clear-documentation: Public ordinary functions

E
execute-documentation: Public ordinary functions

F
find-documentation: Public ordinary functions
format-documentation: Public standalone methods
format-documentation: Public standalone methods
format-to-stream: Private generic functions
format-to-stream: Private generic functions
format-to-stream: Private generic functions
format-to-stream: Private generic functions
Function, clear-documentation: Public ordinary functions
Function, execute-documentation: Public ordinary functions
Function, find-documentation: Public ordinary functions
Function, make-documentation-collection: Public ordinary functions
Function, select-documentation: Public ordinary functions

G
Generic Function, %clear-documentation: Private generic functions
Generic Function, %find-documentation: Private generic functions
Generic Function, %select-documentation: Private generic functions
Generic Function, format-to-stream: Private generic functions
Generic Function, insert-documentation: Private generic functions
Generic Function, read-content: Private generic functions
Generic Function, read-documentation-sections: Public generic functions

I
insert-documentation: Private generic functions
insert-documentation: Private generic functions
insert-documentation: Private generic functions

M
make-documentation-collection: Public ordinary functions
Method, %clear-documentation: Private generic functions
Method, %clear-documentation: Private generic functions
Method, %find-documentation: Private generic functions
Method, %find-documentation: Private generic functions
Method, %select-documentation: Private generic functions
Method, %select-documentation: Private generic functions
Method, format-documentation: Public standalone methods
Method, format-documentation: Public standalone methods
Method, format-to-stream: Private generic functions
Method, format-to-stream: Private generic functions
Method, format-to-stream: Private generic functions
Method, insert-documentation: Private generic functions
Method, insert-documentation: Private generic functions
Method, read-content: Private generic functions
Method, read-documentation-sections: Public generic functions
Method, reinitialize-instance: Public standalone methods

R
read-content: Private generic functions
read-content: Private generic functions
read-documentation-sections: Public generic functions
read-documentation-sections: Public generic functions
reinitialize-instance: Public standalone methods

S
select-documentation: Public ordinary functions


A.4 Data types

Jump to:   A   C   D   F   M   P   R   S   V  
Index Entry  Section

A
aggregating-formatter: Public classes

C
Class, aggregating-formatter: Public classes
Class, documentation-collection: Public classes
Class, rich-aggregating-formatter: Public classes
Class, rich-formatter: Public classes
classes.lisp: The documentation-utils-extensions/classes․lisp file

D
documentation-collection: Public classes
documentation-utils-extensions: The documentation-utils-extensions system
documentation-utils-extensions: The documentation-utils-extensions package
documentation-utils-extensions.asd: The documentation-utils-extensions/documentation-utils-extensions․asd file
documentation.lisp: The documentation-utils-extensions/documentation․lisp file

F
File, classes.lisp: The documentation-utils-extensions/classes․lisp file
File, documentation-utils-extensions.asd: The documentation-utils-extensions/documentation-utils-extensions․asd file
File, documentation.lisp: The documentation-utils-extensions/documentation․lisp file
File, functions.lisp: The documentation-utils-extensions/functions․lisp file
File, methods.lisp: The documentation-utils-extensions/methods․lisp file
File, package.lisp: The documentation-utils-extensions/package․lisp file
File, variables.lisp: The documentation-utils-extensions/variables․lisp file
functions.lisp: The documentation-utils-extensions/functions․lisp file

M
methods.lisp: The documentation-utils-extensions/methods․lisp file

P
Package, documentation-utils-extensions: The documentation-utils-extensions package
package.lisp: The documentation-utils-extensions/package․lisp file

R
rich-aggregating-formatter: Public classes
rich-formatter: Public classes

S
System, documentation-utils-extensions: The documentation-utils-extensions system

V
variables.lisp: The documentation-utils-extensions/variables․lisp file