sigils
- $ variables
- @ arrays
- & patterns
- # settings
- - comments
definition block
a sigil followed by assignment operations enclosed by brackets
examples
${ foo = 'bar' }
&{
foo.bar = "baz"
bar.baz = 'foo'
}
strings
double or single quoted strings, double quoted strings require escaping control characters, and single quoted strings get copied as is. single quoted strings can stretch across newlines.
examples
"foo bar baz\n"
'foo
bar
baz'
arrays
a list of strings, separated by commas, enclosed by brackets. whitespace and newlines between list values are accepted
examples
[ 'foo', 'bar', 'baz', 'quux' ]
["foo","bar","baz"]
[
'foo',
'bar',
'baz'
]
comments
a comment sigil (-) followed by a comment in braces. the only characters not allowed are braces.
comments get removed during the first pass through of parsing, and can occur anywhere in or across a line.
examples
-{ foobar }
-{
foobar
foobaz }
layout
all sections are optional
- header definition block
- variable, array, pattern definition blocks
- source
example
#{ foo = 'bar' } -{ settings for parsing file }
${
foo = 'foobar'
bar.foo = 'foobaz'
}
@{
foo = ['foobar','foobaz']
foo.bar.baz = [ 'foobar', 'foobaz', 'barbaz' ]
}
&{
foo.bar = 'foobar'
bar = "foo_bar"
}
# FOOBAR
Foo bar baz quux lorem ipsum...