Specification

tommarien edited this page Oct 19, 2014 · 2 revisions
Clone this wiki locally

Comments

;This is a comment, the line should start with a semicolon

;Below is a commented section
;[Section]

;Below is a commented property
;key=value

At the moment inline comments are supported from version 1.1!

[Section]; comment on section

key=value;comment

Sections

A section starts on a new line with an opening bracket '['

;Zenini will read all following cases as section 'Section'
[Section]
[  Section]
[Section  ]

;Inside a [] it supports every character, even brackets for instance, reads as 'Secti]on]'
[Secti]on]]

;Zenini also ignores any trailing whitespaces after the closing bracket ']'
[Section]  <CRLF>

Default section

Zenini supports values at the top of the file, not preceeded with a section, they are place in a section with String.Empty as key

key=value

[FirstSection]
anotherkey=value

;Is exactly the same as
[]
key=value

[FirstSection]
anotherkey=value

Sections complement each other

Section with key 'Section' will eventually contain two properties keyed key and anotherkey

[Section]
key=value1

[AnotherSection]
setting=value3

[Section]
anotherkey=value2

Properties (key/value pairs)

Trailing and leading spaces on both key and value are ignored

;key will be 'key'
  key=value
key  =value

;value will be 'value'
key=   value<CRLF>
key=value   <CRLF>

If you wanna preserve spaces on value enclose them with double quote, the same counts for equals symbol

key=" value "
key="value=1"

Values overrule each other on same section

The last value wins, in the next scenario the value of property 'key' will be 'value3' !!

[Section]
key=value1

[another]
key=value2

[Section]
key=value3