2 unstable releases

0.2.0 Sep 14, 2016
0.1.1 Mar 20, 2016

#6 in Configuration

Download history 1/week @ 2018-08-20 4/week @ 2018-08-27 3/week @ 2018-09-03 2/week @ 2018-09-10 3/week @ 2018-09-17 13/week @ 2018-10-01 7/week @ 2018-10-08 4/week @ 2018-10-15 21/week @ 2018-10-22 3/week @ 2018-10-29 18/week @ 2018-11-05 10/week @ 2018-11-12

878 downloads per month

BSD-3-Clause

18KB
260 lines

tini — A tiny INI parsing library, written in Rust

Gitter Build Status Crates

| Documentation | Examples |

Usage

Add tini to your Cargo.toml, for example:

[dependencies]
tini = "0.1"

How to use

Read ini configuration from file

extern crate tini;
use tini::Ini;

fn main() {
    // Read example.ini file from examples directory
    let config = Ini::from_file("./examples/example.ini").unwrap();
    // Read name3 key from section_one
    let name3: String = config.get("section_one", "name3").unwrap();
    // Read list of values
    let frst4: Vec<bool> = config.get_vec("section_three", "frst4").unwrap();
    println!("name3 = {}", name3);
    println!("frst4 = {}", frst4);
    // Result:
    // name3 = example text
    // frst4 = true, false, true
}

Create ini configuration and write to file

extern crate tini;
use tini::Ini;

fn main() {
    // Create ini structure
    let conf = Ini::new()                                // initialize Ini
                   .section("params")                    // create `params` section
                   .item("pi", "3.14")                   // add `pi` key
                   .item("lost", "4, 8, 15, 16, 23, 42") // add `lost` list
                   .section("other")                     // create another section
                   .item("default", "hello world!");     // add `default` key to `other` section
    // At any time you can add new parameters to the last created section
    // < some code >
    // Now write ini structure to file
    conf.to_file("output.ini").unwrap();
    // Now `output.ini` contains
    // -----------------------------
    // [other]
    // default = hello world!
    // [params]
    // pi = 3.14
    // lost = 4, 8, 15, 16, 23, 42
    // -----------------------------
}

See more in examples folder or in documentation.

No runtime deps