3 releases
0.1.2 | Sep 19, 2021 |
---|---|
0.1.1 | Jun 21, 2021 |
0.1.0 | Jun 21, 2021 |
#2966 in Parser implementations
16KB
245 lines
SimpleIni
SimpleIni is a very simple crate to parse and write with the INI format
Licence
SimpleIni is licenced under either the MIT licence, or the Apache-2 licence, at your discretion.
Examples
Parse an INI file
use simpleini::Ini;
fn main() {
let path = "/tmp/example.ini";
let ini = match Ini::from_file(path) {
Ok(ini) => ini,
Err(e) => {
eprintln!("Failed to parse /tmp/example.ini: {:?}", e);
std::process::exit(1);
}
};
}
Create a new INI file
use simpleini::{Ini, IniSection};
// These are only needed when using Ini#add_section_with_values
use std::collections::HashMap;
use std::iter::FromIterator;
use std::array::IntoIter;
fn main() {
let mut ini = Ini::new();
ini.set("some_global", "VALUE");
// Manually (and verbosely) create a section
let mut section = IniSection::new("SectionA");
section.set("some_section_variable", "OTHER_VALUE");
ini.add_section(section);
// Create a Section from a name and a HashMap<AsRef<str>, AsRef<str>>
ini.add_section_with_values("SectionB", HashMap::from_iter(IntoIter::new([("var_b", "value_b")])));
// Write the INI file to disk
match ini.to_file("/tmp/example.ini") {
Ok(()) => {},
Err(e) => {
eprintln!("Failed to write INI to disk: {:?}", e);
std::process::exit(1);
}
};
}
Dependencies
~2–3MB
~54K SLoC