This is the net.didierverna.focus Reference Manual, version 1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 06:07:45 2024 GMT+0.
net.didierverna.focus/net.didierverna.focus.asd
net.didierverna.focus.setup/net.didierverna.focus.setup.asd
net.didierverna.focus.core/net.didierverna.focus.core.asd
net.didierverna.focus.flv/net.didierverna.focus.flv.asd
net.didierverna.focus.setup/setup.lisp
net.didierverna.focus.core/meta.lisp
net.didierverna.focus.core/src/util.lisp
net.didierverna.focus.core/src/directive.lisp
net.didierverna.focus.core/src/table.lisp
net.didierverna.focus.core/src/string.lisp
net.didierverna.focus.core/src/wrapper.lisp
net.didierverna.focus.flv/flv.lisp
The main system appears first, followed by any subsystem dependency.
net.didierverna.focus
net.didierverna.focus.setup
net.didierverna.focus.core
net.didierverna.focus.flv
net.didierverna.focus
Customizable format strings and directives
FORMAT Customizations
Didier Verna
http://www.lrde.epita.fr/~didier/software/lisp/misc.php#focus
BSD
FoCus is a wrapper around the standard FORMAT utility. It allows you to customize the FORMAT DSL by adding new directive characters or modifying the standard ones. The semantics of these directive characters is specified in a so-called "format table", a concept very close to that of readtables. FoCus ultimately translates into regular FORMAT calls.
1.0
net.didierverna.focus.setup
(system).
net.didierverna.focus.core
(system).
net.didierverna.focus.flv
(system)., for feature :net.didierverna.focus.flv
net.didierverna.focus.setup
FoCus’s preload setup library
FORMAT Customizations, setup library
Didier Verna
http://www.lrde.epita.fr/~didier/software/lisp/misc.php#focus
BSD
FoCus’s setup library provides support for various preload configuration parameters. For a more complete description of FoCus, see the net.didierverna.focus system.
setup.lisp
(file).
net.didierverna.focus.core
Customizable format strings and directives
FORMAT Customizations, core library
Didier Verna
http://www.lrde.epita.fr/~didier/software/lisp/misc.php#focus
BSD
FoCus’s core functionality. For a more complete description of FoCus, see the net.didierverna.focus system.
1.0
net.didierverna.focus.setup
(system).
net.didierverna.focus.flv
Focus’s support for file-local variables
FORMAT Customizations, FLV library
Didier Verna
http://www.lrde.epita.fr/~didier/software/lisp/misc.php#focus
BSD
FoCus’s FLV library provides one additional macro: IN-FORMAT-TABLE. This macro is only available when *FORMAT-TABLE* can be made file-local.
1.0
net.didierverna.focus.core
(system).
net.didierverna.asdf-flv
(system).
flv.lisp
(file).
Modules are listed depth-first from the system components tree.
net.didierverna.focus.core/src
meta.lisp
(file).
net.didierverna.focus.core
(system).
util.lisp
(file).
directive.lisp
(file).
table.lisp
(file).
string.lisp
(file).
wrapper.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
net.didierverna.focus/net.didierverna.focus.asd
net.didierverna.focus.setup/net.didierverna.focus.setup.asd
net.didierverna.focus.core/net.didierverna.focus.core.asd
net.didierverna.focus.flv/net.didierverna.focus.flv.asd
net.didierverna.focus.setup/setup.lisp
net.didierverna.focus.core/meta.lisp
net.didierverna.focus.core/src/util.lisp
net.didierverna.focus.core/src/directive.lisp
net.didierverna.focus.core/src/table.lisp
net.didierverna.focus.core/src/string.lisp
net.didierverna.focus.core/src/wrapper.lisp
net.didierverna.focus.flv/flv.lisp
net.didierverna.focus/net.didierverna.focus.asd
net.didierverna.focus
(system).
net.didierverna.focus.setup/net.didierverna.focus.setup.asd
net.didierverna.focus.setup
(system).
net.didierverna.focus.core/net.didierverna.focus.core.asd
net.didierverna.focus.core
(system).
net.didierverna.focus.flv/net.didierverna.focus.flv.asd
net.didierverna.focus.flv
(system).
net.didierverna.focus.setup/setup.lisp
net.didierverna.focus.setup
(system).
*release-major-level*
(special variable).
*release-minor-level*
(special variable).
*release-name*
(special variable).
*release-status*
(special variable).
*release-status-level*
(special variable).
configuration
(function).
configure
(function).
setup-flv
(function).
version
(function).
%version
(function).
*configuration*
(special variable).
release-status-number
(function).
restrict-because
(function).
net.didierverna.focus.core/meta.lisp
net.didierverna.focus.core
(system).
nickname-package
(function).
*readtable*
(special variable).
clindent
(function).
defindent
(macro).
i-reader
(function).
in-readtable
(macro).
tilde-reader
(function).
net.didierverna.focus.core/src/util.lisp
src
(module).
focus-error
(condition).
other-case
(function).
net.didierverna.focus.core/src/directive.lisp
util.lisp
(file).
src
(module).
*standard-directives*
(special variable).
copy-format-directive
(function).
copy-function-directive
(function).
copy-standard-closing-directive
(function).
copy-standard-delimiting-directive
(function).
copy-standard-directive
(function).
copy-standard-opening-directive
(function).
directive-character
(reader).
directive-closing-character
(reader).
directive-function-name
(reader).
(setf directive-function-name)
(writer).
directive-opening-character
(reader).
find-standard-directive
(function).
format-directive
(structure).
format-directive-p
(function).
function-directive
(structure).
function-directive-p
(function).
make-format-directive
(function).
make-function-directive
(function).
make-standard-closing-directive
(function).
make-standard-delimiting-directive
(function).
make-standard-directive
(function).
make-standard-opening-directive
(function).
nonstandard-directive-character
(reader method).
nonstandard-directive-character
(condition).
standard-closing-directive
(structure).
standard-closing-directive-p
(function).
standard-delimiting-directive
(structure).
standard-delimiting-directive-p
(function).
standard-directive
(structure).
standard-directive-lookup-error
(condition).
standard-directive-p
(function).
standard-opening-directive
(structure).
standard-opening-directive-p
(function).
net.didierverna.focus.core/src/table.lisp
directive.lisp
(file).
src
(module).
*format-table*
(special variable).
make-format-table
(function).
print-object
(method).
register-format-table
(function).
set-format-directive
(function).
unregister-format-table
(function).
with-format-table
(macro).
%make-format-table
(function).
copy-format-table
(function).
find-table
(function).
format-table
(structure).
format-table-error
(condition).
format-table-p
(function).
lookup-table
(function).
missing-table
(condition).
name
(reader method).
table
(reader method).
table-character
(reader method).
table-collision
(condition).
table-directive-collision
(condition).
table-directive-error
(condition).
table-lookup-error
(condition).
table-mappings
(reader).
(setf table-mappings)
(writer).
table-name
(function).
net.didierverna.focus.core/src/string.lisp
table.lisp
(file).
src
(module).
delimiter
(reader method).
directive-body-position
(function).
format-string
(reader method).
format-string-error
(condition).
missing-delimiter
(condition).
missing-string-directive
(condition).
missing-table-directive
(condition).
modifier
(reader method).
next-directive-position
(function).
spurious-modifier
(condition).
spurious-parameter
(condition).
standard-directive
(function).
standard-directive-body
(generic function).
standard-format-string
(function).
string-position
(reader method).
table
(reader method).
net.didierverna.focus.core/src/wrapper.lisp
string.lisp
(file).
src
(module).
net.didierverna.focus.flv/flv.lisp
net.didierverna.focus.flv
(system).
in-format-table
(macro).
Packages are listed by definition order.
net.didierverna.focus.setup
Format Customizations, setup.
common-lisp
.
*release-major-level*
(special variable).
*release-minor-level*
(special variable).
*release-name*
(special variable).
*release-status*
(special variable).
*release-status-level*
(special variable).
configuration
(function).
configure
(function).
setup-flv
(function).
version
(function).
%version
(function).
*configuration*
(special variable).
release-status-number
(function).
restrict-because
(function).
net.didierverna.focus.user-functions
The FoCus user functions package.
This package is used to store anonymous user functions (as provided to
SET-FORMAT-DIRECTIVE) under gentemp’ed names.
net.didierverna.focus
The FoCus package.
common-lisp
.
net.didierverna.focus.setup
.
*compile*
(special variable).
*format-table*
(special variable).
format
(macro).
formatter
(macro).
in-format-table
(macro).
make-format-table
(function).
nickname-package
(function).
register-format-table
(function).
set-format-directive
(function).
unregister-format-table
(function).
with-format-table
(macro).
%make-format-table
(function).
*readtable*
(special variable).
*standard-directives*
(special variable).
clindent
(function).
copy-format-directive
(function).
copy-format-table
(function).
copy-function-directive
(function).
copy-standard-closing-directive
(function).
copy-standard-delimiting-directive
(function).
copy-standard-directive
(function).
copy-standard-opening-directive
(function).
defindent
(macro).
delimiter
(generic reader).
directive-body-position
(function).
directive-character
(reader).
directive-closing-character
(reader).
directive-function-name
(reader).
(setf directive-function-name)
(writer).
directive-opening-character
(reader).
find-standard-directive
(function).
find-table
(function).
focus-error
(condition).
format-directive
(structure).
format-directive-p
(function).
format-string
(generic reader).
format-string-error
(condition).
format-table
(structure).
format-table-error
(condition).
format-table-p
(function).
function-directive
(structure).
function-directive-p
(function).
i-reader
(function).
in-readtable
(macro).
lookup-table
(function).
make-format-directive
(function).
make-function-directive
(function).
make-standard-closing-directive
(function).
make-standard-delimiting-directive
(function).
make-standard-directive
(function).
make-standard-opening-directive
(function).
missing-delimiter
(condition).
missing-string-directive
(condition).
missing-table
(condition).
missing-table-directive
(condition).
modifier
(generic reader).
name
(generic reader).
next-directive-position
(function).
nonstandard-directive-character
(generic reader).
nonstandard-directive-character
(condition).
other-case
(function).
spurious-modifier
(condition).
spurious-parameter
(condition).
standard-closing-directive
(structure).
standard-closing-directive-p
(function).
standard-delimiting-directive
(structure).
standard-delimiting-directive-p
(function).
standard-directive
(function).
standard-directive
(structure).
standard-directive-body
(generic function).
standard-directive-lookup-error
(condition).
standard-directive-p
(function).
standard-format-string
(function).
standard-opening-directive
(structure).
standard-opening-directive-p
(function).
string-position
(generic reader).
table
(generic reader).
table-character
(generic reader).
table-collision
(condition).
table-directive-collision
(condition).
table-directive-error
(condition).
table-lookup-error
(condition).
table-mappings
(reader).
(setf table-mappings)
(writer).
table-name
(function).
tilde-reader
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Whether to compile to standard format calls.
If non-nil, the translation to standard format strings occurs at
compile-time (hence, the current format table must also be known at
compile-time). Otherwise (the default), the translation occurs at run-time.
The current format table.
The major level of this release.
The minor level of this release.
The name of this release.
The general naming theme for FoCus is "Aïkido movements".
The status of this release.
The status level of this release.
Wrapper around the standard FORMAT function.
When FORMAT-CONTROL is a string, it is interpreted according to the current
format table. Such translation may occur at compile or run time, according to
the value of *COMPILE*.
Wrapper around the standard FORMATTER macro.
FORMAT-STRING is interpreted according to the current (compile-time) format
table.
Set the current format table to TABLE-OR-NAME in the current file.
This macro behaves like IN-PACKAGE or IN-READTABLE and also sets *COMPILE* to
t, so as to enable compile-time behavior in FoCus.
Execute BODY with the current format table bound to TABLE-OR-NAME.
Return KEY’s value in the current FoCus configuration.
Set KEY to VALUE in the current FoCus configuration.
Create and return a new format table.
The table may be INITIALLY :standard (the default), :standard-upcase,
:standard-downcase or :blank.
Add NICKNAME (:FOCUS by default) to the :NET.DIDIERVERNA.FOCUS package.
Register TABLE under NAME (a symbol) and return it.
FORCE means overwrite an already existing registration under that
name. Otherwise (the default), throw a TABLE-COLLISION error.
Set a ~CHAR directive in TABLE.
- TABLE (the current format table by default) may be a table or a table name.
- When BOTH-CASE (the default), operate on both case versions of CHAR.
- Attempting to override an existing directive throws a
TABLE-DIRECTIVE-COLLISION error, unless FORCE is non-nil.
The operation to perform is as follows:
- If FUNCTION is provided (either a function or a function name), associate
CHAR with it.
- If STANDARD is provided, associate CHAR with the standard directive denoted
by STANDARD character (case does not matter).
- Otherwise, remove the ~CHAR directive from TABLE.
Autodetect support for file-local variables. Update FoCus configuration and *FEATURES* accordingly.
Unregister NAMEd table.
Return the current version of FoCus.
TYPE can be one of :number, :short or :long.
A version number is computed as major*10000 + minor*100 + patchlevel, leaving
two digits for each level. Alpha, beta and rc status are ignored in version
numbers.
A short version is something like 1.3{a,b,rc}4, or 1.3.4 for patchlevel.
Alpha, beta or rc levels start at 1. Patchlevels start at 0 but are ignored
in the output, so that 1.3.0 appears as just 1.3.
A long version is something like
1.3 {alpha,beta,release candidate,patchlevel} 4 "Kokyu Ho". As for
the short version, a patchlevel of 0 is ignored in the output.
format-table
) stream) ¶Add format TABLE’s name, if registered, to its printed representation.
The FoCus configuration settings.
This variable contains a property list of configuration options.
Current options are:
- :swank-eval-in-emacs (Boolean)
See section A.1 of the user manual for more information.
The FoCus readtable.
The list of standard format directives.
Set SYMBOL’s indentation to INDENT in (X)Emacs.
SYMBOL and INDENT need not be quoted.
See CLINDENT for more information.
Set the current readtable to the value of NAME::*READTABLE*.
Set SYMBOL’s indentation to INDENT in (X)Emacs.
This function sets SYMBOL’s common-lisp-indent-function property.
If INDENT is a symbol, use its indentation definition.
Otherwise, INDENT is considered as an indentation definition.
Return a STRING’s directive body position from START.
START is the position of the tilde character, so this function essentially
parses the directive arguments in order to skip them.
Return the standard directive corresponding to CHARACTER. Throw a NONSTANDARD-DIRECTIVE-CHARACTER error otherwise.
Return its table argument directly, or look it up by name.
Read an argument list for the DEFINDENT macro.
Look for a format table registered under NAME.
ERRORP (the default) means to throw a TABLE-NOT-REGISTERED error if no such
table is found. Otherwise, just return nil.
Return the next directive position in STRING from START, or nil.
Return the other case version of CHAR if it exists.
Put FoCus in restricted mode because of REASON.
Translate a STRING directive into a standard one.
- POSITION is the position of the ~ character.
- The translation is done according to format TABLE.
Return two values:
- the translated directive as a string,
- the STRING’s remainder index.
Note that the directive arguments are copied as-is. Only the directive’s body actually involves a translation.
Return the translation of FORMAT-CONTROL into a standard one.
When FORMAT-CONTROL is a string, the translation is done according to format
TABLE (the current table by default). Otherwise, FORMAT-CONTROL is returned
as-is.
Find TABLE’s name if registered, return nil otherwise.
Read a series of ~"string" to be concatenated together.
missing-delimiter
)) ¶format-string-error
)) ¶spurious-modifier
)) ¶table-lookup-error
)) ¶name
.
nonstandard-directive-character
)) ¶Translate a STRING directive’s body into a standard one.
- POSITION is the position of the directive’s body (i.e., past the ~ character
and the potential arguments).
- The translation is done according to DIRECTIVE.
Return two values:
- the translated directive’s body as a string,
- the STRING’s remainder index.
standard-directive
)) ¶Method for one-character and grouping standard directives.
standard-delimiting-directive
)) ¶Method for the / standard directive.
function-directive
)) ¶Method for function directives.
format-string-error
)) ¶missing-table-directive
)) ¶format-table-error
)) ¶table-directive-error
)) ¶A FoCus error.
error
.
A format string error.
The format string.
common-lisp
.
:string
This slot is read-only.
The position at which the error occurs.
common-lisp
.
(quote nil)
:position
This slot is read-only.
A format table error.
A missing delimiter error.
A missing directive error.
A missing format table error.
A missing table directive error.
A nonstandard directive character error.
The character.
common-lisp
.
:character
This slot is read-only.
A spurious modifier error.
A spurious parameter error.
A standard directive lookup error.
A table collision error.
A table directive collision error.
A table directive error.
The directive character.
common-lisp
.
:character
This slot is read-only.
A format table lookup error.
name
.
Base structure for format directives.
structure-object
.
Structure for format tables.
This structure holds the MAPPINGS from characters to directives.
structure-object
.
hash-table
(make-hash-table)
Structure for user-defined function directives. This structure holds the associated function name.
symbol
Structure for standard closing directives.
This structure holds the corresponding (upcase) opening character.
character
This slot is read-only.
Structure for standard delimiting directives.
Base structure for standard directives.
This structure holds the (upcase) directive character.
common-lisp
.
character
This slot is read-only.
Structure for standard opening directives.
This structure holds the corresponding (upcase) closing character.
character
This slot is read-only.
Jump to: | %
(
C D F G I L M N O P R S T U V W |
---|
Jump to: | %
(
C D F G I L M N O P R S T U V W |
---|
Jump to: | *
C D F M N O P S T |
---|
Jump to: | *
C D F M N O P S T |
---|
Jump to: | C D F M N P S T U W |
---|
Jump to: | C D F M N P S T U W |
---|