esyn 0.1.0

Rusty Config File.
Documentation

[WIP] esyn

Rusty Config File.

Example

use esyn::{gen_struct, EsynDe, EsynInit};

#[derive(Debug, EsynDe, EsynInit, Default)]
struct A {
    _isize: isize,
    _opt_none: Option<u8>,
    _s_d: D,
}

#[derive(Debug, EsynDe, EsynInit, Default)]
struct D {
    v20: u8,
    v21: u8,
}

fn main() {
    let code = r#"
fn user1() {
    A {
        _s_d: D { v21: 21 },
        _isize: -1234,
        _opt_none: None,
    };

    A._s_d.v20 = 20;
    A._s_d = D { v21: 121 }; // Like Rust.
}
"#;

    let esyn = esyn::Esyn::new(code).unwrap();

    // Try to generate a new struct from `fn user1()`.
    let s = gen_struct!(
        esyn.get("user1").unwrap(),
        A
    ).unwrap();
    dbg!(&s);
}