INI parsing library for D
Find a file
2024-01-26 13:31:22 +13:00
.gitignore add basic gitignore 2024-01-26 13:31:22 +13:00
COPYING license under the Boost Software License 2024-01-24 21:04:26 +13:00
initial.d add initial.d 2024-01-24 20:15:16 +13:00
README.md add readme 2024-01-25 14:34:18 +13:00

initial - INI parsing library for the D programming language

My attempt at making a sane and high-quality INI parsing library for D.

[section]
key = value

An INI file's contents is stored in an INIUnit structure. This contains multiple INISections stored in an associative array that you can read or set yourself.

initial also provides serialisation facilities that can turn INIUnits and INISections 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

Download initial.d and put it 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 -i -of=program program.d initial.d