$darkmode
Elektra 0.11.0
Holes and Non-leaf values in KeySets

A hole is the absence of a key, which has keys below it, e.g. if some/key is missing in a property file:

1 some = value
2 some/key/below = value

some has a non-leaf value. Another example of a non-leaf value in XML (abc): <abc>value<def>value2</def></abc> interpreted by xerces plugin:

1 abc/def = value2
2 abc = value

Problem

Config files ideally do not copy any structure if they only want to set a single key.

Constraints

Assumptions

Considered Alternatives

Decision

Support holes and values for non-leaves in a KeySet if the underlying format allows it.

If the underlying format does not support it and there is also not an obvious way how to circumvent it – e.g., JSON which does not have comments – holes and values in non-leaves can be supported with key names starting with ®elektra.

Rationale

Implications

Related Decisions

Notes