Reading the configuration file https://code.dlang.org/packages/readconf
Go to file
Alexander Zhirov 44e1e415b0 v0.4.0
### New

- Reading empty parameter values
- Parameter name as a single character

### Bug fixes

- Generating an exception when accessing a non-existent section
2023-06-07 20:45:34 +00:00
examples - Reading empty parameter values 2023-06-07 23:42:02 +03:00
img - Reading empty parameter values 2023-06-07 23:42:02 +03:00
source - Reading empty parameter values 2023-06-07 23:42:02 +03:00
tests - Reading empty parameter values 2023-06-07 23:42:02 +03:00
.gitignore v0.1.0 2023-03-24 02:26:02 +03:00
CHANGELOG.md - Reading empty parameter values 2023-06-07 23:42:02 +03:00
LICENSE add license 2023-03-23 18:16:40 +03:00
README.md - Reading empty parameter values 2023-06-07 23:42:02 +03:00
dub.json - Reading empty parameter values 2023-06-07 23:42:02 +03:00
dub.selections.json - Reading empty parameter values 2023-06-07 23:42:02 +03:00
dub.settings.json v0.0.1 2023-03-23 18:10:56 +03:00

README.md

readconf

license main githab dub linux windows

Singleton for reading the configuration file required for your program.

What can do

  • Reading multiple configuration files
  • Separation of parameters by sections
  • Access to parameters and sections using keys and indexes
  • Commenting on lines

You will get more detailed information on the wiki.

Quick start

The settings.conf file (see the tests):

matches.png

Read settings.conf file:

import readconf;
import std.stdio;

void main()
{
    rc.read("./tests/settings.conf");

    foreach (key, param; rc.cf.sn.keys())
        writefln("%s => %s", key, param);

    writeln(rc.cf.sn.key("value1"));

    foreach (key, param; rc.cf.sn("part2").keys())
        writefln("%s => %s", key, param);

    writeln(rc[]["part2"]["value1"]);
}

Result:

value1 => text without quotes
value2 => Yes!
value3 => value in apostrophes
value4 => 1000
value5 => 0.000
value6 =>
value7 => //path
value8 => "Hey!"
text without quotes
value1 => this value will be in the new section
value3 => good value!
this value will be in the new section

Unittests

The unittests provide examples of configuration files and the settings.conf file located in the tests:

Running bin/readconf-test-unittest 
 ✓ test __unittest_L111_C1
 ✓ test __unittest_L26_C1
 ✓ test __unittest_L52_C1
 ✓ test __unittest_L4_C1

Summary: 4 passed, 0 failed in 7 ms

DUB

Add a dependency on "readconf": "~>0.4.0"