The net.didierverna.focus Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

The net.didierverna.focus Reference Manual

This is the net.didierverna.focus Reference Manual, version 1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 04:34:02 2022 GMT+0.

Table of Contents


1 Introduction

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.

FoCus's homepage contains a lot of resources, including online documentation in various formats.


2 Systems

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


2.1 net.didierverna.focus

Customizable format strings and directives

Long Name

FORMAT Customizations

Author

Didier Verna

Contact

didier@didierverna.net

Home Page

http://www.lrde.epita.fr/~didier/software/lisp/misc.php#focus

Source Control

https://github.com/didierverna/focus

License

BSD

Long Description

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.

Version

1.0

Dependencies
Source

net.didierverna.focus.asd.


2.2 net.didierverna.focus.setup

FoCus’s preload setup library

Long Name

FORMAT Customizations, setup library

Author

Didier Verna

Contact

didier@didierverna.net

Home Page

http://www.lrde.epita.fr/~didier/software/lisp/misc.php#focus

Source Control

https://github.com/didierverna/focus

License

BSD

Long Description

FoCus’s setup library provides support for various preload configuration parameters. For a more complete description of FoCus, see the net.didierverna.focus system.

Source

net.didierverna.focus.setup.asd.

Child Component

setup.lisp (file).


2.3 net.didierverna.focus.core

Customizable format strings and directives

Long Name

FORMAT Customizations, core library

Author

Didier Verna

Contact

didier@didierverna.net

Home Page

http://www.lrde.epita.fr/~didier/software/lisp/misc.php#focus

Source Control

https://github.com/didierverna/focus

License

BSD

Long Description

FoCus’s core functionality. For a more complete description of FoCus, see the net.didierverna.focus system.

Version

1.0

Dependency

net.didierverna.focus.setup (system).

Source

net.didierverna.focus.core.asd.

Child Components

2.4 net.didierverna.focus.flv

Focus’s support for file-local variables

Long Name

FORMAT Customizations, FLV library

Author

Didier Verna

Contact

didier@didierverna.net

Home Page

http://www.lrde.epita.fr/~didier/software/lisp/misc.php#focus

Source Control

https://github.com/didierverna/focus

License

BSD

Long Description

FoCus’s FLV library provides one additional macro: IN-FORMAT-TABLE. This macro is only available when *FORMAT-TABLE* can be made file-local.

Version

1.0

Dependencies
Source

net.didierverna.focus.flv.asd.

Child Component

flv.lisp (file).


3 Modules

Modules are listed depth-first from the system components tree.


Previous: , Up: Modules   [Contents][Index]

3.1 net.didierverna.focus.core/src

Dependency

meta.lisp (file).

Source

net.didierverna.focus.core.asd.

Parent Component

net.didierverna.focus.core (system).

Child Components

4 Files

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


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


4.1.1 net.didierverna.focus/net.didierverna.focus.asd

Source

net.didierverna.focus.asd.

Parent Component

net.didierverna.focus (system).

ASDF Systems

net.didierverna.focus.


4.1.2 net.didierverna.focus.setup/net.didierverna.focus.setup.asd

Source

net.didierverna.focus.setup.asd.

Parent Component

net.didierverna.focus.setup (system).

ASDF Systems

net.didierverna.focus.setup.


4.1.3 net.didierverna.focus.core/net.didierverna.focus.core.asd

Source

net.didierverna.focus.core.asd.

Parent Component

net.didierverna.focus.core (system).

ASDF Systems

net.didierverna.focus.core.


4.1.4 net.didierverna.focus.flv/net.didierverna.focus.flv.asd

Source

net.didierverna.focus.flv.asd.

Parent Component

net.didierverna.focus.flv (system).

ASDF Systems

net.didierverna.focus.flv.


4.1.5 net.didierverna.focus.setup/setup.lisp

Source

net.didierverna.focus.setup.asd.

Parent Component

net.didierverna.focus.setup (system).

Packages

net.didierverna.focus.setup.

Public Interface
Internals

4.1.6 net.didierverna.focus.core/meta.lisp

Source

net.didierverna.focus.core.asd.

Parent Component

net.didierverna.focus.core (system).

Packages

net.didierverna.focus.

Public Interface

nickname-package (function).

Internals

4.1.7 net.didierverna.focus.core/src/util.lisp

Source

net.didierverna.focus.core.asd.

Parent Component

src (module).

Internals

4.1.8 net.didierverna.focus.core/src/directive.lisp

Dependency

util.lisp (file).

Source

net.didierverna.focus.core.asd.

Parent Component

src (module).

Internals

4.1.9 net.didierverna.focus.core/src/table.lisp

Dependency

directive.lisp (file).

Source

net.didierverna.focus.core.asd.

Parent Component

src (module).

Packages

net.didierverna.focus.user-functions.

Public Interface
Internals

4.1.10 net.didierverna.focus.core/src/string.lisp

Dependency

table.lisp (file).

Source

net.didierverna.focus.core.asd.

Parent Component

src (module).

Internals

4.1.11 net.didierverna.focus.core/src/wrapper.lisp

Dependency

string.lisp (file).

Source

net.didierverna.focus.core.asd.

Parent Component

src (module).

Public Interface

4.1.12 net.didierverna.focus.flv/flv.lisp

Source

net.didierverna.focus.flv.asd.

Parent Component

net.didierverna.focus.flv (system).

Public Interface

in-format-table (macro).


5 Packages

Packages are listed by definition order.


5.1 net.didierverna.focus

The FoCus package.

Source

meta.lisp.

Use List
Public Interface
Internals

5.2 net.didierverna.focus.setup

Format Customizations, setup.

Source

setup.lisp.

Use List

common-lisp.

Used By List

net.didierverna.focus.

Public Interface
Internals

5.3 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.

Source

table.lisp.


6 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Public Interface


Next: , Previous: , Up: Public Interface   [Contents][Index]

6.1.1 Special variables

Special Variable: *compile*

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.

Package

net.didierverna.focus.

Source

wrapper.lisp.

Special Variable: *format-table*

The current format table.

Package

net.didierverna.focus.

Source

table.lisp.

Special Variable: *release-major-level*

The major level of this release.

Package

net.didierverna.focus.setup.

Source

setup.lisp.

Special Variable: *release-minor-level*

The minor level of this release.

Package

net.didierverna.focus.setup.

Source

setup.lisp.

Special Variable: *release-name*

The name of this release.
The general naming theme for FoCus is "Aïkido movements".

Package

net.didierverna.focus.setup.

Source

setup.lisp.

Special Variable: *release-status*

The status of this release.

Package

net.didierverna.focus.setup.

Source

setup.lisp.

Special Variable: *release-status-level*

The status level of this release.

Package

net.didierverna.focus.setup.

Source

setup.lisp.


6.1.2 Macros

Macro: format (destination format-control &rest args)

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*.

Package

net.didierverna.focus.

Source

wrapper.lisp.

Macro: formatter (format-string)

Wrapper around the standard FORMATTER macro.
FORMAT-STRING is interpreted according to the current (compile-time) format table.

Package

net.didierverna.focus.

Source

wrapper.lisp.

Macro: in-format-table (table-or-name)

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.

Package

net.didierverna.focus.

Source

flv.lisp.

Macro: with-format-table (table-or-name &body body)

Execute BODY with the current format table bound to TABLE-OR-NAME.

Package

net.didierverna.focus.

Source

table.lisp.


6.1.3 Ordinary functions

Function: configuration (key)

Return KEY’s value in the current FoCus configuration.

Package

net.didierverna.focus.setup.

Source

setup.lisp.

Function: configure (key value)

Set KEY to VALUE in the current FoCus configuration.

Package

net.didierverna.focus.setup.

Source

setup.lisp.

Function: make-format-table (&optional initially)

Create and return a new format table.
The table may be INITIALLY :standard (the default), :standard-upcase, :standard-downcase or :blank.

Package

net.didierverna.focus.

Source

table.lisp.

Function: nickname-package (&optional nickname)

Add NICKNAME (:FOCUS by default) to the :NET.DIDIERVERNA.FOCUS package.

Package

net.didierverna.focus.

Source

meta.lisp.

Function: register-format-table (table name &optional force)

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.

Package

net.didierverna.focus.

Source

table.lisp.

Function: set-format-directive (char &key standard function both-case force table)

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.

Package

net.didierverna.focus.

Source

table.lisp.

Function: setup-flv ()

Autodetect support for file-local variables. Update FoCus configuration and *FEATURES* accordingly.

Package

net.didierverna.focus.setup.

Source

setup.lisp.

Function: unregister-format-table (name)

Unregister NAMEd table.

Package

net.didierverna.focus.

Source

table.lisp.

Function: version (&optional type)

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.

Package

net.didierverna.focus.setup.

Source

setup.lisp.


6.1.4 Standalone methods

Method: print-object ((table format-table) stream)

Add format TABLE’s name, if registered, to its printed representation.

Source

table.lisp.


6.2 Internals


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.1 Special variables

Special Variable: *configuration*

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.

Package

net.didierverna.focus.setup.

Source

setup.lisp.

Special Variable: *readtable*

The FoCus readtable.

Package

net.didierverna.focus.

Source

meta.lisp.

Special Variable: *standard-directives*

The list of standard format directives.

Package

net.didierverna.focus.

Source

directive.lisp.


6.2.2 Macros

Macro: defindent (symbol indent)

Set SYMBOL’s indentation to INDENT in (X)Emacs. SYMBOL and INDENT need not be quoted.
See CLINDENT for more information.

Package

net.didierverna.focus.

Source

meta.lisp.

Macro: in-readtable (name)

Set the current readtable to the value of NAME::*READTABLE*.

Package

net.didierverna.focus.

Source

meta.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.3 Ordinary functions

Function: %make-format-table (&key mappings)
Package

net.didierverna.focus.

Source

table.lisp.

Function: %version (type major minor status level name)
Package

net.didierverna.focus.setup.

Source

setup.lisp.

Function: clindent (symbol indent)

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.

Package

net.didierverna.focus.

Source

meta.lisp.

Function: copy-format-directive (instance)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: copy-format-table (instance)
Package

net.didierverna.focus.

Source

table.lisp.

Function: copy-function-directive (instance)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: copy-standard-closing-directive (instance)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: copy-standard-delimiting-directive (instance)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: copy-standard-directive (instance)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: copy-standard-opening-directive (instance)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: directive-body-position (string start)

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.

Package

net.didierverna.focus.

Source

string.lisp.

Reader: directive-character (instance)
Package

net.didierverna.focus.

Source

directive.lisp.

Target Slot

character.

Reader: directive-closing-character (instance)
Package

net.didierverna.focus.

Source

directive.lisp.

Target Slot

closing-character.

Reader: directive-function-name (instance)
Writer: (setf directive-function-name) (instance)
Package

net.didierverna.focus.

Source

directive.lisp.

Target Slot

function-name.

Reader: directive-opening-character (instance)
Package

net.didierverna.focus.

Source

directive.lisp.

Target Slot

opening-character.

Function: find-standard-directive (character)

Return the standard directive corresponding to CHARACTER. Throw a NONSTANDARD-DIRECTIVE-CHARACTER error otherwise.

Package

net.didierverna.focus.

Source

directive.lisp.

Function: find-table (table-or-name)

Return its table argument directly, or look it up by name.

Package

net.didierverna.focus.

Source

table.lisp.

Function: format-directive-p (object)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: format-table-p (object)
Package

net.didierverna.focus.

Source

table.lisp.

Function: function-directive-p (object)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: i-reader (stream subchar arg)

Read an argument list for the DEFINDENT macro.

Package

net.didierverna.focus.

Source

meta.lisp.

Function: lookup-table (name &optional errorp)

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.

Package

net.didierverna.focus.

Source

table.lisp.

Function: make-format-directive (&key)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: make-function-directive (&key function-name)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: make-standard-closing-directive (&key character opening-character)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: make-standard-delimiting-directive (&key character)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: make-standard-directive (&key character)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: make-standard-opening-directive (&key character closing-character)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: next-directive-position (string start)

Return the next directive position in STRING from START, or nil.

Package

net.didierverna.focus.

Source

string.lisp.

Function: other-case (char)

Return the other case version of CHAR if it exists.

Package

net.didierverna.focus.

Source

util.lisp.

Function: release-status-number (release-status)
Package

net.didierverna.focus.setup.

Source

setup.lisp.

Function: restrict-because (reason)

Put FoCus in restricted mode because of REASON.

Package

net.didierverna.focus.setup.

Source

setup.lisp.

Function: standard-closing-directive-p (object)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: standard-delimiting-directive-p (object)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: standard-directive (string position table)

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.

Package

net.didierverna.focus.

Source

string.lisp.

Function: standard-directive-p (object)
Package

net.didierverna.focus.

Source

directive.lisp.

Function: standard-format-string (format-control &optional table)

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.

Package

net.didierverna.focus.

Source

string.lisp.

Function: standard-opening-directive-p (object)
Package

net.didierverna.focus.

Source

directive.lisp.

Reader: table-mappings (instance)
Writer: (setf table-mappings) (instance)
Package

net.didierverna.focus.

Source

table.lisp.

Target Slot

mappings.

Function: table-name (table)

Find TABLE’s name if registered, return nil otherwise.

Package

net.didierverna.focus.

Source

table.lisp.

Function: tilde-reader (stream char)

Read a series of ~"string" to be concatenated together.

Package

net.didierverna.focus.

Source

meta.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.4 Generic functions

Generic Reader: delimiter (condition)
Package

net.didierverna.focus.

Methods
Reader Method: delimiter ((condition missing-delimiter))
Source

string.lisp.

Target Slot

delimiter.

Generic Reader: format-string (condition)
Package

net.didierverna.focus.

Methods
Reader Method: format-string ((condition format-string-error))
Source

string.lisp.

Target Slot

string.

Generic Reader: modifier (condition)
Package

net.didierverna.focus.

Methods
Reader Method: modifier ((condition spurious-modifier))
Source

string.lisp.

Target Slot

modifier.

Generic Reader: name (condition)
Package

net.didierverna.focus.

Methods
Reader Method: name ((condition table-lookup-error))
Source

table.lisp.

Target Slot

name.

Generic Reader: nonstandard-directive-character (condition)
Package

net.didierverna.focus.

Methods
Reader Method: nonstandard-directive-character ((condition nonstandard-directive-character))
Source

directive.lisp.

Target Slot

character.

Generic Function: standard-directive-body (string position directive)

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.

Package

net.didierverna.focus.

Source

string.lisp.

Methods
Method: standard-directive-body (string position (directive standard-directive))

Method for one-character and grouping standard directives.

Method: standard-directive-body (string position (directive standard-delimiting-directive))

Method for the / standard directive.

Method: standard-directive-body (string position (directive function-directive))

Method for function directives.

Generic Reader: string-position (condition)
Package

net.didierverna.focus.

Methods
Reader Method: string-position ((condition format-string-error))
Source

string.lisp.

Target Slot

position.

Generic Reader: table (condition)
Package

net.didierverna.focus.

Methods
Reader Method: table ((condition missing-table-directive))
Source

string.lisp.

Target Slot

table.

Reader Method: table ((condition format-table-error))
Source

table.lisp.

Target Slot

table.

Generic Reader: table-character (condition)
Package

net.didierverna.focus.

Methods
Reader Method: table-character ((condition table-directive-error))
Source

table.lisp.

Target Slot

character.


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.5 Conditions

Condition: focus-error

A FoCus error.

Package

net.didierverna.focus.

Source

util.lisp.

Direct superclasses

error.

Direct subclasses
Condition: format-string-error

A format string error.

Package

net.didierverna.focus.

Source

string.lisp.

Direct superclasses

focus-error.

Direct subclasses
Direct methods
Direct slots
Slot: string

The format string.

Package

common-lisp.

Initargs

:string

Readers

format-string.

Writers

This slot is read-only.

Slot: position

The position at which the error occurs.

Package

common-lisp.

Initform

(quote nil)

Initargs

:position

Readers

string-position.

Writers

This slot is read-only.

Condition: format-table-error

A format table error.

Package

net.didierverna.focus.

Source

table.lisp.

Direct superclasses

focus-error.

Direct subclasses

table-directive-error.

Direct methods

table.

Direct slots
Slot: table

The format table.

Initargs

:table

Readers

table.

Writers

This slot is read-only.

Condition: missing-delimiter

A missing delimiter error.

Package

net.didierverna.focus.

Source

string.lisp.

Direct superclasses

format-string-error.

Direct methods

delimiter.

Direct slots
Slot: delimiter

The delimiter character.

Initargs

:delimiter

Readers

delimiter.

Writers

This slot is read-only.

Condition: missing-string-directive

A missing directive error.

Package

net.didierverna.focus.

Source

string.lisp.

Direct superclasses

format-string-error.

Condition: missing-table

A missing format table error.

Package

net.didierverna.focus.

Source

table.lisp.

Direct superclasses

table-lookup-error.

Condition: missing-table-directive

A missing table directive error.

Package

net.didierverna.focus.

Source

string.lisp.

Direct superclasses

format-string-error.

Direct methods

table.

Direct slots
Slot: table

The format table.

Initargs

:table

Readers

table.

Writers

This slot is read-only.

Condition: nonstandard-directive-character

A nonstandard directive character error.

Package

net.didierverna.focus.

Source

directive.lisp.

Direct superclasses

standard-directive-lookup-error.

Direct methods

nonstandard-directive-character.

Direct slots
Slot: character

The character.

Package

common-lisp.

Initargs

:character

Readers

nonstandard-directive-character.

Writers

This slot is read-only.

Condition: spurious-modifier

A spurious modifier error.

Package

net.didierverna.focus.

Source

string.lisp.

Direct superclasses

format-string-error.

Direct methods

modifier.

Direct slots
Slot: modifier

The modifier character.

Initargs

:modifier

Readers

modifier.

Writers

This slot is read-only.

Condition: spurious-parameter

A spurious parameter error.

Package

net.didierverna.focus.

Source

string.lisp.

Direct superclasses

format-string-error.

Condition: standard-directive-lookup-error

A standard directive lookup error.

Package

net.didierverna.focus.

Source

directive.lisp.

Direct superclasses

focus-error.

Direct subclasses

nonstandard-directive-character.

Condition: table-collision

A table collision error.

Package

net.didierverna.focus.

Source

table.lisp.

Direct superclasses

table-lookup-error.

Condition: table-directive-collision

A table directive collision error.

Package

net.didierverna.focus.

Source

table.lisp.

Direct superclasses

table-directive-error.

Condition: table-directive-error

A table directive error.

Package

net.didierverna.focus.

Source

table.lisp.

Direct superclasses

format-table-error.

Direct subclasses

table-directive-collision.

Direct methods

table-character.

Direct slots
Slot: character

The directive character.

Package

common-lisp.

Initargs

:character

Readers

table-character.

Writers

This slot is read-only.

Condition: table-lookup-error

A format table lookup error.

Package

net.didierverna.focus.

Source

table.lisp.

Direct superclasses

focus-error.

Direct subclasses
Direct methods

name.

Direct slots
Slot: name

The looked up name.

Initargs

:name

Readers

name.

Writers

This slot is read-only.


Previous: , Up: Internals   [Contents][Index]

6.2.6 Structures

Structure: format-directive

Base structure for format directives.

Package

net.didierverna.focus.

Source

directive.lisp.

Direct superclasses

structure-object.

Direct subclasses
Structure: format-table

Structure for format tables.
This structure holds the MAPPINGS from characters to directives.

Package

net.didierverna.focus.

Source

table.lisp.

Direct superclasses

structure-object.

Direct methods

print-object.

Direct slots
Slot: mappings
Type

hash-table

Initform

(make-hash-table)

Readers

table-mappings.

Writers

(setf table-mappings).

Structure: function-directive

Structure for user-defined function directives. This structure holds the associated function name.

Package

net.didierverna.focus.

Source

directive.lisp.

Direct superclasses

format-directive.

Direct methods

standard-directive-body.

Direct slots
Slot: function-name
Type

symbol

Readers

directive-function-name.

Writers

(setf directive-function-name).

Structure: standard-closing-directive

Structure for standard closing directives.
This structure holds the corresponding (upcase) opening character.

Package

net.didierverna.focus.

Source

directive.lisp.

Direct superclasses

standard-directive.

Direct slots
Slot: opening-character
Type

character

Readers

directive-opening-character.

Writers

This slot is read-only.

Structure: standard-delimiting-directive

Structure for standard delimiting directives.

Package

net.didierverna.focus.

Source

directive.lisp.

Direct superclasses

standard-directive.

Direct methods

standard-directive-body.

Structure: standard-directive

Base structure for standard directives.
This structure holds the (upcase) directive character.

Package

net.didierverna.focus.

Source

directive.lisp.

Direct superclasses

format-directive.

Direct subclasses
Direct methods

standard-directive-body.

Direct slots
Slot: character
Package

common-lisp.

Type

character

Readers

directive-character.

Writers

This slot is read-only.

Structure: standard-opening-directive

Structure for standard opening directives.
This structure holds the corresponding (upcase) closing character.

Package

net.didierverna.focus.

Source

directive.lisp.

Direct superclasses

standard-directive.

Direct slots
Slot: closing-character
Type

character

Readers

directive-closing-character.

Writers

This slot is read-only.


Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts


Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (  
C   D   F   G   I   L   M   N   O   P   R   S   T   U   V   W  
Index Entry  Section

%
%make-format-table: Private ordinary functions
%version: Private ordinary functions

(
(setf directive-function-name): Private ordinary functions
(setf table-mappings): Private ordinary functions

C
clindent: Private ordinary functions
configuration: Public ordinary functions
configure: Public ordinary functions
copy-format-directive: Private ordinary functions
copy-format-table: Private ordinary functions
copy-function-directive: Private ordinary functions
copy-standard-closing-directive: Private ordinary functions
copy-standard-delimiting-directive: Private ordinary functions
copy-standard-directive: Private ordinary functions
copy-standard-opening-directive: Private ordinary functions

D
defindent: Private macros
delimiter: Private generic functions
delimiter: Private generic functions
directive-body-position: Private ordinary functions
directive-character: Private ordinary functions
directive-closing-character: Private ordinary functions
directive-function-name: Private ordinary functions
directive-opening-character: Private ordinary functions

F
find-standard-directive: Private ordinary functions
find-table: Private ordinary functions
format: Public macros
format-directive-p: Private ordinary functions
format-string: Private generic functions
format-string: Private generic functions
format-table-p: Private ordinary functions
formatter: Public macros
Function, %make-format-table: Private ordinary functions
Function, %version: Private ordinary functions
Function, (setf directive-function-name): Private ordinary functions
Function, (setf table-mappings): Private ordinary functions
Function, clindent: Private ordinary functions
Function, configuration: Public ordinary functions
Function, configure: Public ordinary functions
Function, copy-format-directive: Private ordinary functions
Function, copy-format-table: Private ordinary functions
Function, copy-function-directive: Private ordinary functions
Function, copy-standard-closing-directive: Private ordinary functions
Function, copy-standard-delimiting-directive: Private ordinary functions
Function, copy-standard-directive: Private ordinary functions
Function, copy-standard-opening-directive: Private ordinary functions
Function, directive-body-position: Private ordinary functions
Function, directive-character: Private ordinary functions
Function, directive-closing-character: Private ordinary functions
Function, directive-function-name: Private ordinary functions
Function, directive-opening-character: Private ordinary functions
Function, find-standard-directive: Private ordinary functions
Function, find-table: Private ordinary functions
Function, format-directive-p: Private ordinary functions
Function, format-table-p: Private ordinary functions
Function, function-directive-p: Private ordinary functions
Function, i-reader: Private ordinary functions
Function, lookup-table: Private ordinary functions
Function, make-format-directive: Private ordinary functions
Function, make-format-table: Public ordinary functions
Function, make-function-directive: Private ordinary functions
Function, make-standard-closing-directive: Private ordinary functions
Function, make-standard-delimiting-directive: Private ordinary functions
Function, make-standard-directive: Private ordinary functions
Function, make-standard-opening-directive: Private ordinary functions
Function, next-directive-position: Private ordinary functions
Function, nickname-package: Public ordinary functions
Function, other-case: Private ordinary functions
Function, register-format-table: Public ordinary functions
Function, release-status-number: Private ordinary functions
Function, restrict-because: Private ordinary functions
Function, set-format-directive: Public ordinary functions
Function, setup-flv: Public ordinary functions
Function, standard-closing-directive-p: Private ordinary functions
Function, standard-delimiting-directive-p: Private ordinary functions
Function, standard-directive: Private ordinary functions
Function, standard-directive-p: Private ordinary functions
Function, standard-format-string: Private ordinary functions
Function, standard-opening-directive-p: Private ordinary functions
Function, table-mappings: Private ordinary functions
Function, table-name: Private ordinary functions
Function, tilde-reader: Private ordinary functions
Function, unregister-format-table: Public ordinary functions
Function, version: Public ordinary functions
function-directive-p: Private ordinary functions

G
Generic Function, delimiter: Private generic functions
Generic Function, format-string: Private generic functions
Generic Function, modifier: Private generic functions
Generic Function, name: Private generic functions
Generic Function, nonstandard-directive-character: Private generic functions
Generic Function, standard-directive-body: Private generic functions
Generic Function, string-position: Private generic functions
Generic Function, table: Private generic functions
Generic Function, table-character: Private generic functions

I
i-reader: Private ordinary functions
in-format-table: Public macros
in-readtable: Private macros

L
lookup-table: Private ordinary functions

M
Macro, defindent: Private macros
Macro, format: Public macros
Macro, formatter: Public macros
Macro, in-format-table: Public macros
Macro, in-readtable: Private macros
Macro, with-format-table: Public macros
make-format-directive: Private ordinary functions
make-format-table: Public ordinary functions
make-function-directive: Private ordinary functions
make-standard-closing-directive: Private ordinary functions
make-standard-delimiting-directive: Private ordinary functions
make-standard-directive: Private ordinary functions
make-standard-opening-directive: Private ordinary functions
Method, delimiter: Private generic functions
Method, format-string: Private generic functions
Method, modifier: Private generic functions
Method, name: Private generic functions
Method, nonstandard-directive-character: Private generic functions
Method, print-object: Public standalone methods
Method, standard-directive-body: Private generic functions
Method, standard-directive-body: Private generic functions
Method, standard-directive-body: Private generic functions
Method, string-position: Private generic functions
Method, table: Private generic functions
Method, table: Private generic functions
Method, table-character: Private generic functions
modifier: Private generic functions
modifier: Private generic functions

N
name: Private generic functions
name: Private generic functions
next-directive-position: Private ordinary functions
nickname-package: Public ordinary functions
nonstandard-directive-character: Private generic functions
nonstandard-directive-character: Private generic functions

O
other-case: Private ordinary functions

P
print-object: Public standalone methods

R
register-format-table: Public ordinary functions
release-status-number: Private ordinary functions
restrict-because: Private ordinary functions

S
set-format-directive: Public ordinary functions
setup-flv: Public ordinary functions
standard-closing-directive-p: Private ordinary functions
standard-delimiting-directive-p: Private ordinary functions
standard-directive: Private ordinary functions
standard-directive-body: Private generic functions
standard-directive-body: Private generic functions
standard-directive-body: Private generic functions
standard-directive-body: Private generic functions
standard-directive-p: Private ordinary functions
standard-format-string: Private ordinary functions
standard-opening-directive-p: Private ordinary functions
string-position: Private generic functions
string-position: Private generic functions

T
table: Private generic functions
table: Private generic functions
table: Private generic functions
table-character: Private generic functions
table-character: Private generic functions
table-mappings: Private ordinary functions
table-name: Private ordinary functions
tilde-reader: Private ordinary functions

U
unregister-format-table: Public ordinary functions

V
version: Public ordinary functions

W
with-format-table: Public macros

Jump to:   %   (  
C   D   F   G   I   L   M   N   O   P   R   S   T   U   V   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
C   D   F   M   N   O   P   S   T  
Index Entry  Section

*
*compile*: Public special variables
*configuration*: Private special variables
*format-table*: Public special variables
*readtable*: Private special variables
*release-major-level*: Public special variables
*release-minor-level*: Public special variables
*release-name*: Public special variables
*release-status*: Public special variables
*release-status-level*: Public special variables
*standard-directives*: Private special variables

C
character: Private conditions
character: Private conditions
character: Private structures
closing-character: Private structures

D
delimiter: Private conditions

F
function-name: Private structures

M
mappings: Private structures
modifier: Private conditions

N
name: Private conditions

O
opening-character: Private structures

P
position: Private conditions

S
Slot, character: Private conditions
Slot, character: Private conditions
Slot, character: Private structures
Slot, closing-character: Private structures
Slot, delimiter: Private conditions
Slot, function-name: Private structures
Slot, mappings: Private structures
Slot, modifier: Private conditions
Slot, name: Private conditions
Slot, opening-character: Private structures
Slot, position: Private conditions
Slot, string: Private conditions
Slot, table: Private conditions
Slot, table: Private conditions
Special Variable, *compile*: Public special variables
Special Variable, *configuration*: Private special variables
Special Variable, *format-table*: Public special variables
Special Variable, *readtable*: Private special variables
Special Variable, *release-major-level*: Public special variables
Special Variable, *release-minor-level*: Public special variables
Special Variable, *release-name*: Public special variables
Special Variable, *release-status*: Public special variables
Special Variable, *release-status-level*: Public special variables
Special Variable, *standard-directives*: Private special variables
string: Private conditions

T
table: Private conditions
table: Private conditions

Jump to:   *  
C   D   F   M   N   O   P   S   T  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   D   F   M   N   P   S   T   U   W  
Index Entry  Section

C
Condition, focus-error: Private conditions
Condition, format-string-error: Private conditions
Condition, format-table-error: Private conditions
Condition, missing-delimiter: Private conditions
Condition, missing-string-directive: Private conditions
Condition, missing-table: Private conditions
Condition, missing-table-directive: Private conditions
Condition, nonstandard-directive-character: Private conditions
Condition, spurious-modifier: Private conditions
Condition, spurious-parameter: Private conditions
Condition, standard-directive-lookup-error: Private conditions
Condition, table-collision: Private conditions
Condition, table-directive-collision: Private conditions
Condition, table-directive-error: Private conditions
Condition, table-lookup-error: Private conditions

D
directive.lisp: The net․didierverna․focus․core/src/directive․lisp file

F
File, directive.lisp: The net․didierverna․focus․core/src/directive․lisp file
File, flv.lisp: The net․didierverna․focus․flv/flv․lisp file
File, meta.lisp: The net․didierverna․focus․core/meta․lisp file
File, net.didierverna.focus.asd: The net․didierverna․focus/net․didierverna․focus․asd file
File, net.didierverna.focus.core.asd: The net․didierverna․focus․core/net․didierverna․focus․core․asd file
File, net.didierverna.focus.flv.asd: The net․didierverna․focus․flv/net․didierverna․focus․flv․asd file
File, net.didierverna.focus.setup.asd: The net․didierverna․focus․setup/net․didierverna․focus․setup․asd file
File, setup.lisp: The net․didierverna․focus․setup/setup․lisp file
File, string.lisp: The net․didierverna․focus․core/src/string․lisp file
File, table.lisp: The net․didierverna․focus․core/src/table․lisp file
File, util.lisp: The net․didierverna․focus․core/src/util․lisp file
File, wrapper.lisp: The net․didierverna․focus․core/src/wrapper․lisp file
flv.lisp: The net․didierverna․focus․flv/flv․lisp file
focus-error: Private conditions
format-directive: Private structures
format-string-error: Private conditions
format-table: Private structures
format-table-error: Private conditions
function-directive: Private structures

M
meta.lisp: The net․didierverna․focus․core/meta․lisp file
missing-delimiter: Private conditions
missing-string-directive: Private conditions
missing-table: Private conditions
missing-table-directive: Private conditions
Module, src: The net․didierverna․focus․core/src module

N
net.didierverna.focus: The net․didierverna․focus system
net.didierverna.focus: The net․didierverna․focus package
net.didierverna.focus.asd: The net․didierverna․focus/net․didierverna․focus․asd file
net.didierverna.focus.core: The net․didierverna․focus․core system
net.didierverna.focus.core.asd: The net․didierverna․focus․core/net․didierverna․focus․core․asd file
net.didierverna.focus.flv: The net․didierverna․focus․flv system
net.didierverna.focus.flv.asd: The net․didierverna․focus․flv/net․didierverna․focus․flv․asd file
net.didierverna.focus.setup: The net․didierverna․focus․setup system
net.didierverna.focus.setup: The net․didierverna․focus․setup package
net.didierverna.focus.setup.asd: The net․didierverna․focus․setup/net․didierverna․focus․setup․asd file
net.didierverna.focus.user-functions: The net․didierverna․focus․user-functions package
nonstandard-directive-character: Private conditions

P
Package, net.didierverna.focus: The net․didierverna․focus package
Package, net.didierverna.focus.setup: The net․didierverna․focus․setup package
Package, net.didierverna.focus.user-functions: The net․didierverna․focus․user-functions package

S
setup.lisp: The net․didierverna․focus․setup/setup․lisp file
spurious-modifier: Private conditions
spurious-parameter: Private conditions
src: The net․didierverna․focus․core/src module
standard-closing-directive: Private structures
standard-delimiting-directive: Private structures
standard-directive: Private structures
standard-directive-lookup-error: Private conditions
standard-opening-directive: Private structures
string.lisp: The net․didierverna․focus․core/src/string․lisp file
Structure, format-directive: Private structures
Structure, format-table: Private structures
Structure, function-directive: Private structures
Structure, standard-closing-directive: Private structures
Structure, standard-delimiting-directive: Private structures
Structure, standard-directive: Private structures
Structure, standard-opening-directive: Private structures
System, net.didierverna.focus: The net․didierverna․focus system
System, net.didierverna.focus.core: The net․didierverna․focus․core system
System, net.didierverna.focus.flv: The net․didierverna․focus․flv system
System, net.didierverna.focus.setup: The net․didierverna․focus․setup system

T
table-collision: Private conditions
table-directive-collision: Private conditions
table-directive-error: Private conditions
table-lookup-error: Private conditions
table.lisp: The net․didierverna․focus․core/src/table․lisp file

U
util.lisp: The net․didierverna․focus․core/src/util․lisp file

W
wrapper.lisp: The net․didierverna․focus․core/src/wrapper․lisp file

Jump to:   C   D   F   M   N   P   S   T   U   W