diff --git a/doc/devel/config_guide.txt b/doc/devel/config_guide.txt new file mode 100644 index 000000000..a4a5d711d --- /dev/null +++ b/doc/devel/config_guide.txt @@ -0,0 +1,80 @@ +The incomplete Guide to Lumiera Configuration +============================================== + +DONT EDIT THE CONFIG IF YOU DONT KNOW WHAT YOU ARE DOING! +Misconfiguration will break Lumiera and may destroy all your data! + +Order is roughly alphabetically, depending on the mood of the writer. +Defaults are noted if present. Not all are implemented yet. + +General Introduction +-------------------- + +Lumiera uses plaintext files with a INI file like syntax for +configuration. This Syntax is strictly line based. There are only a +few syntactic elements. + +TODO:describe config syntax here + +Config Subsystem +---------------- + +The path where Lumiera searches its configuration. Single components are +separated by colons as in PATH and other such environment variables. +Here it might be handy that any Lumiera configuration can be +overridden by a environment variable: +'LUMIERA_CONFIG_PATH=somewhere:else lumiera ...' +A default are initialized at installation time, this is important to +bootstrap the whole configuration system. + + config.path + + +The config system check for a preferred format when writing config +entries. For each key 'foo.bar', these can be overridden with a key +'config.format.foo.bar' linking to the desired format. + + config.formatkey ='config.format.%s' + + +The following are links to the default formatting when no explicit +format is set for a key. Changing these to a wrong type will break the +system! + + config.formatdef.link < config.formatstr.link + config.formatdef.number < config.formatstr.number.dec + config.formatdef.real < config.formatstr.real + config.formatdef.string < config.formatstr.string + config.formatdef.word < config.formatstr.word + config.formatdef.bool < config.formatstr.bool + + +This are the low level formating specifications for the buildin +types, DONT TOUCH THESE! + + config.formatstr.link = '< %s' + config.formatstr.number.dec = '= %lld' + config.formatstr.number.hex = '= 0x%llX' + config.formatstr.number.oct = '= 0%llo' + config.formatstr.real = '= %Lg' + config.formatstr.real.dec = '= %Lf' + config.formatstr.real.sci = '= %Le' + config.formatstr.string = '= %s' + config.formatstr.string.dquoted = '= \"%s\"' + config.formatstr.string.quoted = '= ''%s''' + config.formatstr.word = '= %s' + config.formatstr.bool = '= %d' + + +Plugin System +------------- + +The path where Lumiera searches its plugins. Single components are +separated by colons as in PATH and other such environment variables. +Here it might be handy that any Lumiera configuration can be +overridden by a environment variable: +'LUMIERA_PLUGIN_PATH=somewhere:else lumiera ...' +Sensible defaults are initialized at installation time. + + plugin.path +