INI parsing library for D
.gitignore | ||
COPYING | ||
dub.json | ||
initial.d | ||
README.md |
initial - INI parser for the D programming language
My attempt at making a sane and high-quality INI parsing library for D.
[section]
key = value
The contents of an INI file is stored in an INIUnit
structure. This
contains an associative array of INISection
s that you can read or set
yourself.
initial also provides serialisation facilities that can turn INIUnit
s
and INISection
s back into an INI document. Handy for if your program
has some sort of GUI configuration interface or if you're passing around
INI through a network connection.
Demo
INIUnit ini;
/* write INI data to an INIUnit */
ini["section"]["key"] = "value";
ini["section"]["num"] = "4.8";
/* read INI data */
readINI(ini, `
[section]
num = 5.3
`);
assert(ini["section"]["key"] == "value");
assert(ini["section"]["num"] == "5.3");
/* read INI from file */
readINIFile(ini, "config.ini");
/* write INI to file */
import std.file : write;
write("config.ini", ini.serialise());
Usage
Copy initial.d to somewhere in your import path, then compile it alongside your program and link it in. Or you can do it all at once by using -i.
dmd program.d initial.d
dmd -i program.d
Documentation can be found by reading the documentation comments in the code.
Progress
Finished
- Keys
- Sections
- Default section
- Comments
Todo
- Key referencing
- Testing D: