esyn-0.2.0 has been yanked.
[WIP] esyn
Rusty Config File Parser.
Example
fn main() {
#[derive(Debug, PartialEq, EsynDe)]
enum Map {
Up,
Down,
}
#[derive(Debug, PartialEq, EsynDe)]
struct Window {
borderless: bool,
topmost: bool,
}
#[derive(Debug, PartialEq, EsynDe)]
struct Config {
name: String,
map: Map,
invert_mouse: bool,
font: Option<String>,
window: Window,
}
let esyn = esyn::Esyn::from_file("./full.rs").unwrap();
let list = esyn.get::<Config>("test_example").unwrap();
let a = &list[0];
assert_eq!(a.name, "bala".to_string());
assert_eq!(a.map, Map::Down);
assert_eq!(a.font, None);
assert_eq!(a.window.borderless, true);
assert_eq!(a.window.topmost, true);
dbg!(a);
}
Supported Types
u8 u16 u32 u64 u128 usize
i8 i16 i32 i64 i128 isize
f32 f64
bool
char String
Option<T>
Vec<T>
Box<T>
Named Struct
Unit Enum
Unnamed Enum
Named Enum