add readme

This commit is contained in:
Jeremy Baxter 2024-01-25 14:34:18 +13:00
parent 8967581b3c
commit 3ce21c6c79

52
README.md Normal file
View file

@ -0,0 +1,52 @@
## initial - INI parsing library for the D programming language
My attempt at making a sane and high-quality INI parsing library for D.
```ini
[section]
key = value
```
An INI file's contents is stored in an `INIUnit` structure. This contains
multiple `INISection`s stored in an associative array 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
```d
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
```