Info

From Doomsday Wiki
Jump to: navigation, search

An Info file is an Addon format which contains the information which describes the contents of an addon (known as metadata).

Note: Snowberry uses this same format for profiles and configurations.

Overview

Designed to be both easy to write and parsed by machines, this syntax is roughly comparable to a subset of YAML.

Syntax

Note: No formal description of this syntax and grammar exists at this time.

Comments

 # A single line comment stops here.

Assignment statements

Identifiers are case insensitive.

 Key: Value
 KEY = Value

String values

String 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.

Definition scopes

Known as "blocks" a definition scope may contain zero or more statements and/or nested blocks. Both curly brackets and parentheses can both be used to delineate blocks.

Syntax example:

 blocktype name {
   ... Definition statements ...
 }
Note: Although interchangeable, one scope-delineation pair may be more convenient than the other, depending on the contents of the block.

The following blocks are considered equivalent and all mean the same thing:

 component jdoom library jDoom.dll ()
 component jdoom (library="jDoom" ".dll")
 component jdoom (
   library: jDoom.dll
 )

Attributes

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