====== Info ======
An [[Info]] file contains key-value pairs that can be collected into nested groups.
===== Syntax =====
==== Comments ====
# A single line comment stops here.
Longer comments:
#> Multi-line comment begins.
Continues...
And ends here. <#
==== Key-value definitions ====
Identifiers are case insensitive.
Key: Value
KEY = Value
When '':'' is used, the remainder of the line is used as-is as the value. When the assignment operator ''='' is used, only the following single token is used as the value.
==== String values ====
Text strings can be broken onto multiple lines as follows. There are no escape sequences. However, two consecutive single-quote characters produce the ''"'' character.
help =
"Run game's in windowed mode. "
"This is a ''long'' string that continues."
**Technical details:** It is assumed that embedded markup is used for rich-formatting purposes where applicable/suitable.
==== Lists ====
The value in a key-value definition may also be a list.
key
Note that no assignment operator or colon character is used in this case.
==== Blocks ====
Blocks group one or more definitions together. A block may contain zero or more statements and/or nested blocks. Both curly brackets and parentheses can both be used to as delimiters.
Syntax example:
blocktype name {
# ... Definition statements ...
}
==== Attributes ====
Following the ''blocktype name'' pair that begins a group, you may add any number of attributes. An attribute is key-value pair that becomes a member of the group just like the definitions inside the block.
The following blocks all mean the same thing:
component jdoom {
library: jDoom.dll
}
component jdoom library jDoom.dll {}
component jdoom {library="jDoom" ".dll"} # note: string joining
==== Examples ====
boolean run-in-window requires jdoom (
option: -wnd
default: this is the default?
help = "Run game in windowed mode. "
"This is a ''long'' string that continues."
description: Can contain any # chars : even () {}
)
choice display-color-bits {
options <16, 32>
subblock test ( hey = there )
}
===== See also =====
* [[Addon format]]
* [[snowberry:configuration_file|Snowberry configuration files]]
* [[http://github.com/skyjake/Doomsday-Engine/blob/master/snowberry/cfparser.py|Info syntax parser implementation]] (Python)