The cleopter Reference Manual

This is the cleopter Reference Manual, version 0.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Fri May 15 12:06:22 2026 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 cleopter

Minimalist command-line parser

Author

André A. Gomes <>

License

MIT

Version

0.0.1

Source

cleopter.asd.

Child Component

cleopter.lisp (file).


3 Files

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


3.1 Lisp


3.1.1 cleopter/cleopter.asd

Source

cleopter.asd.

Parent Component

cleopter (system).

ASDF Systems

cleopter.


3.1.2 cleopter/cleopter.lisp

Source

cleopter.asd.

Parent Component

cleopter (system).

Packages

cleopter.

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 cleopter

Source

cleopter.lisp.

Nickname

cli

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: *options*

A list of all defined options, see ‘define-options’.

Package

cleopter.

Source

cleopter.lisp.


5.1.2 Macros

Macro: define-options (&body options)
Package

cleopter.

Source

cleopter.lisp.


5.1.3 Ordinary functions

Reader: name (instance)
Writer: (setf name) (instance)
Package

cleopter.

Source

cleopter.lisp.

Target Slot

name.

Function: parse (&key args options)

Parse command-line ARGS against predefined OPTIONS (see ‘define-options’).

Returns 2 values:
0- a plist mapping option names (as keywords) to their values;
1- a list of free arguments.

Package

cleopter.

Source

cleopter.lisp.

Function: usage (name &key stream options brief? prefix suffix free-args-meta-var padding fill-column)

Output to STREAM the OPTIONS available for NAME.

PREFIX and SUFFIX are printed at the top and bottom, respectively.

FREE-ARGS-META-VAR defines a label for the free arguments.

When BRIEF? is non-nil, the options’ description isn’t included.

PADDING is the column where the option description starts, while FILL-COLUMN is the column that specifies the right margin.

Package

cleopter.

Source

cleopter.lisp.


5.1.4 Conditions

Condition: invalid-value

Signaled when the option’s value can’t be parsed.

Package

cleopter.

Source

cleopter.lisp.

Direct superclasses

troublesome-token.

Direct methods

parser.

Direct slots
Slot: parser
Initargs

:parser

Readers

parser.

Writers

This slot is read-only.

Condition: missing-value

Signaled when the option’s value isn’t provided.

Package

cleopter.

Source

cleopter.lisp.

Direct superclasses

troublesome-token.

Condition: troublesome-token

The parent of all conditions.

Package

cleopter.

Source

cleopter.lisp.

Direct superclasses

simple-error.

Direct subclasses
Direct methods

data.

Direct slots
Slot: data
Initargs

:data

Readers

data.

Writers

This slot is read-only.

Condition: unknown-option

Signaled when parsing an undefined option.

Package

cleopter.

Source

cleopter.lisp.

Direct superclasses

troublesome-token.


5.2 Internals


5.2.1 Ordinary functions

Function: %make-option (&key name description long short value-parser variadic? value-meta-var)
Package

cleopter.

Source

cleopter.lisp.

Function: classify (token)

Pattern match TOKEN as value, flag, multiple-flags or double-dash.

Package

cleopter.

Source

cleopter.lisp.

Function: copy-option (instance)
Package

cleopter.

Source

cleopter.lisp.

Reader: description (instance)
Writer: (setf description) (instance)
Package

cleopter.

Source

cleopter.lisp.

Target Slot

description.

Function: find-duplicate (sequence &key test)
Package

cleopter.

Source

cleopter.lisp.

Reader: long (instance)
Writer: (setf long) (instance)
Package

cleopter.

Source

cleopter.lisp.

Target Slot

long.

Function: long-flag-name-spec (string)
Package

cleopter.

Source

cleopter.lisp.

Function: make-option (&rest args)
Package

cleopter.

Source

cleopter.lisp.

Function: option-p (object)
Package

cleopter.

Source

cleopter.lisp.

Reader: short (instance)
Writer: (setf short) (instance)
Package

cleopter.

Source

cleopter.lisp.

Target Slot

short.

Function: unbundle (token)

Split TOKEN into separate short flags. E.g. "-abc=value" => ’("-a" "-b" "-c=value").

Package

cleopter.

Source

cleopter.lisp.

Reader: value-meta-var (instance)
Writer: (setf value-meta-var) (instance)
Package

cleopter.

Source

cleopter.lisp.

Target Slot

value-meta-var.

Reader: value-parser (instance)
Writer: (setf value-parser) (instance)
Package

cleopter.

Source

cleopter.lisp.

Target Slot

value-parser.

Reader: variadic? (instance)
Writer: (setf variadic?) (instance)
Package

cleopter.

Source

cleopter.lisp.

Target Slot

variadic?.


5.2.2 Generic functions

Generic Reader: data (condition)
Package

cleopter.

Methods
Reader Method: data ((condition troublesome-token))
Source

cleopter.lisp.

Target Slot

data.

Generic Function: doc (option &key padding)
Package

cleopter.

Methods
Method: doc ((option option) &key padding)
Source

cleopter.lisp.

Generic Function: flag-format-args (option)
Package

cleopter.

Methods
Method: flag-format-args ((option option))
Source

cleopter.lisp.

Generic Function: flags (option)
Package

cleopter.

Methods
Method: flags ((option option))
Source

cleopter.lisp.

Generic Reader: parser (condition)
Package

cleopter.

Methods
Reader Method: parser ((condition invalid-value))
Source

cleopter.lisp.

Target Slot

parser.


5.2.3 Structures

Structure: option
Package

cleopter.

Source

cleopter.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: name
Type

keyword

Initform

(error "required argument name is missing.")

Readers

name.

Writers

(setf name).

Slot: description
Type

string

Initform

""

Readers

description.

Writers

(setf description).

Slot: long
Type

(or null (satisfies cleopter::long-flag-name-spec))

Readers

long.

Writers

(setf long).

Slot: short
Type

(or null (satisfies alpha-char-p))

Readers

short.

Writers

(setf short).

Slot: value-parser
Type

(or null function)

Readers

value-parser.

Writers

(setf value-parser).

Slot: variadic?
Type

boolean

Readers

variadic?.

Writers

(setf variadic?).

Slot: value-meta-var
Type

(or null string)

Readers

value-meta-var.

Writers

(setf value-meta-var).


Appendix A Indexes


A.1 Concepts


A.2 Functions

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

%
%make-option: Private ordinary functions

(
(setf description): Private ordinary functions
(setf long): Private ordinary functions
(setf name): Public ordinary functions
(setf short): Private ordinary functions
(setf value-meta-var): Private ordinary functions
(setf value-parser): Private ordinary functions
(setf variadic?): Private ordinary functions

C
classify: Private ordinary functions
copy-option: Private ordinary functions

D
data: Private generic functions
data: Private generic functions
define-options: Public macros
description: Private ordinary functions
doc: Private generic functions
doc: Private generic functions

F
find-duplicate: Private ordinary functions
flag-format-args: Private generic functions
flag-format-args: Private generic functions
flags: Private generic functions
flags: Private generic functions
Function, %make-option: Private ordinary functions
Function, (setf description): Private ordinary functions
Function, (setf long): Private ordinary functions
Function, (setf name): Public ordinary functions
Function, (setf short): Private ordinary functions
Function, (setf value-meta-var): Private ordinary functions
Function, (setf value-parser): Private ordinary functions
Function, (setf variadic?): Private ordinary functions
Function, classify: Private ordinary functions
Function, copy-option: Private ordinary functions
Function, description: Private ordinary functions
Function, find-duplicate: Private ordinary functions
Function, long: Private ordinary functions
Function, long-flag-name-spec: Private ordinary functions
Function, make-option: Private ordinary functions
Function, name: Public ordinary functions
Function, option-p: Private ordinary functions
Function, parse: Public ordinary functions
Function, short: Private ordinary functions
Function, unbundle: Private ordinary functions
Function, usage: Public ordinary functions
Function, value-meta-var: Private ordinary functions
Function, value-parser: Private ordinary functions
Function, variadic?: Private ordinary functions

G
Generic Function, data: Private generic functions
Generic Function, doc: Private generic functions
Generic Function, flag-format-args: Private generic functions
Generic Function, flags: Private generic functions
Generic Function, parser: Private generic functions

L
long: Private ordinary functions
long-flag-name-spec: Private ordinary functions

M
Macro, define-options: Public macros
make-option: Private ordinary functions
Method, data: Private generic functions
Method, doc: Private generic functions
Method, flag-format-args: Private generic functions
Method, flags: Private generic functions
Method, parser: Private generic functions

N
name: Public ordinary functions

O
option-p: Private ordinary functions

P
parse: Public ordinary functions
parser: Private generic functions
parser: Private generic functions

S
short: Private ordinary functions

U
unbundle: Private ordinary functions
usage: Public ordinary functions

V
value-meta-var: Private ordinary functions
value-parser: Private ordinary functions
variadic?: Private ordinary functions