add readme
This commit is contained in:
parent
8967581b3c
commit
3ce21c6c79
1 changed files with 52 additions and 0 deletions
52
README.md
Normal file
52
README.md
Normal 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
|
||||||
|
```
|
Loading…
Add table
Add a link
Reference in a new issue