June 16, 2014
On my way back from DConf I was bored with in the in-flight entertainment and start to hack.

The result is "inifiled" a compile time ini file reader and writer that
fills and stores a annotated struct.
It excepts typical ini files with sections, comments and to some extend
nesting and arrays. The only
unique characteristic is that the struct and struct member annotations
require comments. Config
options without descriptive comments just make me troll. So comments for
options are required.

dub: http://code.dlang.org/packages/inifiled
github: https://github.com/burner/inifiled



@INI("A Person")
struct Person {
    @INI("The lastname of the Person") string lastname;

    @INI("The height of the Person") float height;

    @INI("Some strings with a very long long INI description that is longer" ~
        " than eigthy lines hopefully."
    ) string[] someStrings;
}

void main() {
    Person person;

    readINIFile(p, "filename.ini");

    writeINIFile(p, "filename.ini");
}