The cl-inix Reference Manual

This is the cl-inix Reference Manual, version 0.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Fri May 15 11:51:38 2026 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 cl-inix

cl-inix is a flexible library for .INI/.conf file parsing

Author

Artyom Bologov

Home Page

https://codeberg.org/aartaka/cl-inix

Source Control

(GIT https://codeberg.org/aartaka/cl-inix.git)

Bug Tracker

https://codeberg.org/aartaka/cl-inix/issues

License

BSD-2 Clause

Version

0.0.0

Source

cl-inix.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 cl-inix/cl-inix.asd

Source

cl-inix.asd.

Parent Component

cl-inix (system).

ASDF Systems

cl-inix.


3.1.2 cl-inix/package.lisp

Source

cl-inix.asd.

Parent Component

cl-inix (system).

Packages

cl-inix.


3.1.3 cl-inix/cl-inix.lisp

Dependency

package.lisp (file).

Source

cl-inix.asd.

Parent Component

cl-inix (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 cl-inix

‘cl-inix’ is a package with functions useful for .INI file handling:

- ‘cl-inix:read’ reads sections, keys, and values from file or string. Key format, the overall output shape, delimiter char, and comment char are all configurable.

- ‘cl-inix:get’ gets a value under section+key from any shape of data. - ‘cl-inix:get-string’ gets a string value
- ‘cl-inix:get-integer’ gets an integer
- ‘cl-inix:get-boolean’ gets a boolean (with configurable keywords) - ‘cl-inix:get-array’ gets an array (parsed with delimiter)
- ‘cl-inix:get-read’ gets a ‘cl:read’ value, whatever the type

- ‘cl-inix:write’ saves the data (of any shape) to a file.

Source

package.lisp.

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 Ordinary functions

Function: get-array (sections key &rest args &key delimiter &allow-other-keys)
Package

cl-inix.

Source

cl-inix.lisp.

Function: get-boolean (sections key &rest args &key true-keywords &allow-other-keys)
Package

cl-inix.

Source

cl-inix.lisp.

Function: get-integer (sections key &rest args)
Package

cl-inix.

Source

cl-inix.lisp.

Function: get-read (sections key &rest args)
Package

cl-inix.

Source

cl-inix.lisp.

Function: get-string (sections key &rest args)
Package

cl-inix.

Source

cl-inix.lisp.


5.1.2 Generic functions

Generic Function: get (sections key &key section &allow-other-keys)

Get a value under KEY from SECTIONS.
Gets values from default (T) section or SECTION, when provided.

Package

cl-inix.

Source

cl-inix.lisp.

Methods
Method: get (key (sections list) &key section &allow-other-keys)
Method: get (key (sections hash-table) &key section &allow-other-keys)
Generic Function: read (in &key key format package delimiter comment-char)

Read the configuration sections from IN.
IN can be either pathname or string.
KEY is the key-processing function:
- :STRING (default),
- :KEYWORD for keywords converted from uppercased key,
- :PRESERVE-KEYWORD for literal keys,
- :SYMBOL for symbols from uppercased keys,
- :PRESERVE-SYMBOL for literal keys,
- or a function taking a strings as an argument and returning something.

FORMAT is the output format:
- :ALIST (default) for dotted list of sections to key-value alists, - :HASH-TABLE from section names to key-value hash tables.

PACKAGE is the package to intern :SYMBOL/:PRESERVE-SYMBOL keys into. DELIMITER is a char separating key from value.
COMMENT-CHAR is the comment-initiating character.

Package

cl-inix.

Source

cl-inix.lisp.

Methods
Method: read ((in string) &key key format package delimiter comment-char)
Method: read ((in pathname) &key key format package delimiter comment-char)
Generic Function: write (sections file &key delimiter key-case)

Write SECTIONS to FILE.
Delimits key/values with DELIMITER (character or string, defaults to #\=). KEY-CASE is the way keys are printed: either :DOWNCASE, :UPCASE, or :CAPITALIZE.

Example for pretty DWIM output:
(write sections #p"/path/to/output.conf" :delimiter " = " :key-case :downcase)

Or DOS vibes
(write sections #p"/PATH/TO/OUTPUT.INI" :delimiter "=" :key-case :UPCASE)

Package

cl-inix.

Source

cl-inix.lisp.

Methods
Method: write ((sections list) (file pathname) &key delimiter key-case)
Method: write ((sections hash-table) (file pathname) &key delimiter key-case)

5.2 Internals


5.2.1 Special variables

Special Variable: no-break-space
Package

cl-inix.

Source

cl-inix.lisp.

Special Variable: whitespace

Whitespace characters.

Package

cl-inix.

Source

cl-inix.lisp.


5.2.2 Macros

Macro: -> (name (&rest arg-types) &optional return-type)

Shorter ftype declaration for NAME.

Package

cl-inix.

Source

cl-inix.lisp.

Macro: dlambda ((&rest args) &body body)
Package

cl-inix.

Source

cl-inix.lisp.


5.2.3 Ordinary functions

Function: %read (lines key-fn format package delimiter comment-char)
Package

cl-inix.

Source

cl-inix.lisp.

Function: convert-key (key key-fn &optional package)
Package

cl-inix.

Source

cl-inix.lisp.

Function: section (lines comment-char)
Package

cl-inix.

Source

cl-inix.lisp.

Function: slurp-key/value (kv-string &optional delimiter comment-char)
Package

cl-inix.

Source

cl-inix.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   -  
C   D   F   G   M   R   S   W  
Index Entry  Section

%
%read: Private ordinary functions

-
->: Private macros

C
convert-key: Private ordinary functions

D
dlambda: Private macros

F
Function, %read: Private ordinary functions
Function, convert-key: Private ordinary functions
Function, get-array: Public ordinary functions
Function, get-boolean: Public ordinary functions
Function, get-integer: Public ordinary functions
Function, get-read: Public ordinary functions
Function, get-string: Public ordinary functions
Function, section: Private ordinary functions
Function, slurp-key/value: Private ordinary functions

G
Generic Function, get: Public generic functions
Generic Function, read: Public generic functions
Generic Function, write: Public generic functions
get: Public generic functions
get: Public generic functions
get: Public generic functions
get-array: Public ordinary functions
get-boolean: Public ordinary functions
get-integer: Public ordinary functions
get-read: Public ordinary functions
get-string: Public ordinary functions

M
Macro, ->: Private macros
Macro, dlambda: Private macros
Method, get: Public generic functions
Method, get: Public generic functions
Method, read: Public generic functions
Method, read: Public generic functions
Method, write: Public generic functions
Method, write: Public generic functions

R
read: Public generic functions
read: Public generic functions
read: Public generic functions

S
section: Private ordinary functions
slurp-key/value: Private ordinary functions

W
write: Public generic functions
write: Public generic functions
write: Public generic functions