add readme
This commit is contained in:
parent
e2f5deac82
commit
af05aba2b6
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