Expand description
dfconfig is a lib for parsing and manipulating Dwarf Fortress’ init.txt
and d_init.txt
config files (and possibly many others using the same format).
This lib’s functionality has been specifically tailored to behave similar as DF internal parser, which implies:
Config::get
returns the last occurrence value, if config specifies the key more than once.- Whitespaces are not allowed at the start of lines, any line not starting with
[
character is treated as a comment.
Other notable functionality is that the parser preserves all of the parsed string content, including blank lines and comments.
§Examples
use std::fs::{read_to_string, write};
use dfconfig::Config;
// Parse existing config
let path = r"/path/to/df/data/init/init.txt";
let mut conf = Config::read_str(read_to_string(path)?);
// Read some value
let sound = conf.get("SOUND");
// Modify and save the config
conf.set("VOLUME", "128");
write(path, conf.print())?;
Structs§
- Config
- The main struct of this crate. Represents DF config file, while also providing functions to parse and manipulate the data. See crate doc for example usage.