[WIP] esyn

github crates.io docs.rs build status

Rusty Config File Parser.

Example

```rust use esyn::{Esyn, EsynDe};

[derive(Debug, PartialEq, Default, EsynDe)]

struct Config { name: String, opt: Option, window: Window, map: Map, }

[derive(PartialEq, EsynDe)]

enum Map { Up, Down, Any(String), }

impl Default for Map { fn default() -> Self { Map::Up } }

[derive(Debug, PartialEq, Default, EsynDe)]

struct Window { borderless: bool, topmost: bool, color: Color, }

[derive(Debug, PartialEq, Default, EsynDe)]

struct Color { bg: u8, fg: u8, }

fn main() { let config = r#" fn main() { let a = Config { name: "hi", map: Map::Down, window: Window { borderless: true, topmost: false, }, opt: Some(56), };

a.window.color = Color {
    bg:13,
    fg:12,
};

} "#; let esyn = Esyn::new(&config).unwrap(); let map = esyn.get::("main").unwrap(); let a = map.get("a").unwrap();

assert_eq!(
    a,
    &Config {
        name: "hi".to_string(),
        map: Map::Down,
        window: Window {
            borderless: true,
            topmost: false,
            color: Color { bg: 13, fg: 12 },
        },
        opt: Some(56),
    }
);

} ```

Supported Types

```rust u8 u16 u32 u64 u128 usize i8 i16 i32 i64 i128 isize f32 f64 bool char String

Option Vec

Struct Enum

```