8 releases
0.1.7 | Apr 16, 2023 |
---|---|
0.1.6 | Feb 13, 2023 |
0.1.5 | Jan 26, 2023 |
0.1.3 | Dec 21, 2022 |
#12 in #ini
Used in full_logger
18KB
451 lines
Pretty INI
Light library to read/write ini files.
Format
[table_name]
key = value
Example
use pretty_ini::{ini, ini_file};
fn main() {
let mut file = ini_file::IniFile::default();
file.set_path("demo.ini");
let mut ini = ini::Ini::default();
ini.load(&mut file).unwrap();
let var_iter = ini.get_ref_mut(ini::TABLE_NAME_ROOT, "iter").unwrap();
var_iter.set(var_iter.parse::<i32>().unwrap() + 1);
println!("All keys contained in: \"Next\"");
for key in ini
.get_all_keys_in_table("next")
.expect("No key found in Next")
{
println!("- {}", key);
}
file.save(&mut ini);
}
Pre/Post Process
In the IniFile you can add some process using a ProcessAction.
Pre Process
Called before assigning the file content to the buffer.
let action = Some(Box::new(|buffer| {
// Do nothing
return buffer;
}));
ini_file.add_pre_process(action);
Post Process
Called before saving the file.
let action = Some(Box::new(|buffer| {
// Do nothing
return buffer;
}));
ini_file.add_post_process(action);
⚠️ Warnings
- The output when saving will be reformated.
- Implicit "root" table.