1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use Result;
use symbolic_expressions;
use symbolic_expressions::IntoSexp;
use str_error;
use formatter::KicadFormatter;
use from_sexp;
pub use layout::data::*;
pub fn layout_to_string(layout: &Layout, indent_level: i64) -> Result<String> {
let formatter = KicadFormatter::new(indent_level);
let mut s = symbolic_expressions::ser::to_string_with_formatter(&layout.into_sexp(), formatter)?;
s.push('\n');
Ok(s)
}
pub fn parse(s: &str) -> Result<Layout> {
match symbolic_expressions::parser::parse_str(s) {
Ok(s) => from_sexp(&s),
Err(x) => str_error(format!("ParseError: {:?}", x)),
}
}
mod data;
mod de;
mod ser;