metaforge - 0.1.3

syntax

sigils

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

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