$darkmode
Elektra 0.11.0
|
This plugin uses the nickel library in order to read/write metakeys in the nickel ini format. Its purpose is to be used in the spec
-namespace or when any metadata should be stored.
For configuration itself you should prefer the toml plugin.
To mount the ni plugin you can simply use:
The strength of this plugin is that it supports arbitrary meta data and the file format is still human-readable. For example the following lines:
specify that key
has a metadata key meta
containing the metavalue foo
:
For the metadata of the parent key use the following syntax:
Line continuation works by ending the line with \\
(a single backslash). If you want a line break at the end of the line, use \\n\\
.
To export a KeySet
in the nickel format use:
For in-detail explanation of the syntax (nested keys are not supported by the plugin) see /src/plugins/ni/nickel-1.1.0/include/bohr/ni.h
kdb test
currently reports some errors (likely because of the UTF-8 handling happening within ni).This plugin is based on the Nickel Library written by author: charl es@c haosl izar d.org
Nickel (Ni) has its strength in building up a hierarchical recursive Node structure which is perfect for parsing and generating ini files. With them arbitrary deep nested hierarchy are possible, but limited in a keyname of a fixed size.
The API of nickel is very suited for elektra, it can use FILE*
pointers (using that elektra could open and lock files), the node-hierarchy can be transformed to keysets, but it lacks many features like comments and types.
The format is more general than the kde-ini format, it can handle their configuration well, when the section names do not exceed the specified length. Nesting is only required in the first depth, any deeper is not understood by kde config parser.
The memory footprint is for a 190.000 (reduced to 35.000 when rewrote first ) line ini file with 1.1MB size is 16.88 MB. The sort order is not stable, even not with the same file rewritten again.