Reference Manual
Lookup tables for configuration file authoring:
Glossary
| Term | Meaning |
|---|---|
Definition |
The configuration schema model: which properties exist, their types, ranges and documentation.
Delivered as a |
Configuration |
Your data, in a |
Workspace |
The directory tree |
Workspace root |
The top of that tree, marked by a |
CfgSpace |
A configuration space (project) inside the workspace, rooted at a folder whose |
Element |
Anything a definition declares: an entity, a struct or a parameter. |
Entity |
An object with identity ( |
Struct |
An object without identity, a group of values under its parent. |
Parameter |
A single value: a number, a string, a boolean, an enum literal, a linker symbol or a reference. |
Property name |
The key you write, called a relation in the definition manual. |
Type path |
A type’s full name, the definition name and the type names joined with |
Multiplicity |
How often an element may appear, written |
Reference |
A parameter whose value is a path to another entity, for example |
Merged model |
The single configuration that results from merging all files of one CfgSpace.
It is what the consuming software sees, and what |
Merge conflict |
Two equally ranked files setting the same value differently. |
File type |
The priority of a file, written as |
Fragment |
A file holding the content of one nested entity, anchored with |
Mixin |
A block of content declared once under |
Annotation |
Typed metadata on an element, written with a leading underscore, declared by the definition. |
Default and preconfiguration file |
|
Origin |
The record of which file and line a merged value came from, added by |
File Structure
A complete file from the Nm example, showing the document level keys above the configured root property:
{
$definition: "Nm@1.0",
$fileType: "UserConfigPriorityHigh",
nmNodes: [
{
name: "Gateway",
timeoutTime: 1500
}
]
}
Document Level Keys
| Key | Meaning |
|---|---|
|
Name of the definition this file follows ( |
|
The long form of the version, as a separate key instead of |
|
File priority for merging, see the ladder below.
Default: |
|
Absolute path of the anchor entity of a fragment file, e.g. |
|
Type path of the anchor entity of a fragment file, its own type or one it inherits from.
Requires |
|
List of mixin declarations, see Reusing Content with Mixins.
Each entry needs a |
Inside one $mixins entry:
| Key | Meaning |
|---|---|
|
Type path of the content, and the selector: the mixin reaches every element of that type or of a type inheriting from it. Required. |
|
Name of the mixin, which narrows it to the elements applying that name.
Leaving it out reaches every element of |
|
Mixins this mixin builds on, see below. It loses against what this entry sets itself. Only on the entry itself, not on the content below it. |
Element Level Keys
On entities:
| Key | Meaning |
|---|---|
|
Identity among the entity’s siblings.
Pattern |
|
Globally unique identity; also serves as the name.
Same pattern.
An entity takes |
|
Union discriminator, full type path |
|
Name of a mixin to apply, or a list of them, see Reusing Content with Mixins. Only in the two mergeable modes. |
|
|
|
Free text carried in the model, see below. |
On structs:
| Key | Meaning |
|---|---|
|
Union discriminator, full type path |
|
Name of a mixin to apply, or a list of them, see Reusing Content with Mixins. Only in the two mergeable modes. |
|
Free text carried in the model, see below. |
On parameters in object form:
| Key | Meaning |
|---|---|
|
The parameter value.
Integer parameters also accept hex ( |
|
The target path, for reference parameters instead of |
|
Free text carried in the model, see below. |
Everywhere:
| Key | Meaning |
|---|---|
|
Documentation of this element instance. |
|
Explanation of a decision, for example why a value deviates. |
|
A typed annotation; type and allowed placement come from the definition’s |
Value Syntax by Definition Type
| Definition type | You write | Example |
|---|---|---|
|
|
|
|
Integer values in decimal or hex, or with a unit |
|
|
Float, as a number or a string, optionally with a unit |
|
|
String, subject to pattern, length, or literals |
|
|
One literal as a string |
|
|
Symbol name as a string |
|
|
Path to a file or folder as a string, checked on disk |
|
|
Aggregation of its fields |
|
|
Object, optionally with |
|
|
Object with |
|
|
Bare value, no |
|
|
Path string of entity identities |
|
list (multiplicity max > 1) |
Array; brackets omittable only for a single parameter value |
|
Any parameter also accepts the object form { value: …, $description: …, $comment: …, _annotationName: … }.
$fileType Priority Ladder
From lowest to highest priority. Equal priorities conflict on differing values; a higher priority wins silently.
| Priority | $fileType |
Allowed file suffix |
|---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
The legacy .json variants of each suffix are accepted as well.
.confu Settings
| Key | Meaning |
|---|---|
|
This folder is the workspace root; upward traversal stops here.
Default |
|
This folder roots a CfgSpace, a separate configuration namespace.
Default |
|
List of definition files or directories to load, relative to the |
|
Load the listed |
|
Settings of the |
cfgSpace cannot be combined with workspaceRoot or ignoreTraversal.
Combining workspaceRoot: true with ignoreTraversal: true is valid: the folder stays invisible to enclosing workspaces, but is scanned as its own workspace when passed directly
as the input path.
Unknown keys are rejected.
CLI Reference
The full command documentation is in the cfu CLI Reference.