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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
//! # Eon: the human-friendly configuration format
//! Eon is a configuration format that is designed to be familiar, clean, and powerful.
//!
//! Example Eon document:
//!
//! ```text
//! // Comment
//! string: "Hello Eon!"
//! list: [1, 2, 3]
//! object: {
//! boolean: true
//! regex: '\d{3}-\d{3}-\d{4}'
//! }
//! map: {
//! 1: "map keys don't need to be strings"
//! 2: "they can be any Eon value"
//! }
//! special_floats: [+inf, -inf, +nan]
//! ```
//!
//! Read more about Eon at <https://github.com/emilk/eon>.
//!
//! ## Usage with `serde`
//! Make sure to enable the `serde` feature for `eon` in your `Cargo.toml` (it's currently enabled by default):
//! ```toml
//! [dependencies]
//! eon = { version = "*", features = ["serde"] }
//! ```
//!
//! Deserialize any value that implements `serde::Deserialize` using [`from_str`].
//!
//! Serialize any value that implements `serde::Serialize` into Eon using [`to_string`]
//!
//! ## Usage with [`Value`]
//! You can also treat an Eon document as a dynamically types [`Value`].
//!
//! Load an Eon document into a [`Value`] using [`Value::from_str`](std::str::FromStr::from_str).
//!
//! Serialize a [`Value`] into an Eon string using [`Value::format`].
//!
//! You can also convert anything that implements `serde::Serialize` into a [`Value`] using [`to_value`],
//!
//! ## Reading/writing comments
//! An Eon document can contain comments, which are NOT part of the [`Value`] type.
//! To load and serialize comments, use the low-level [`eon_syntax`] crate instead.
//!
//! ## Formatting Eon files
//! Use [`reformat`] to format an Eon file.
//! You can also use the [`eonfmt`](http://crates.io/crates/eonfmt) CLI tool.
//!
//! ## Feature flags
// let's keep eon well-documented
pub use ;
/// External crates used by `eon`.
pub use ;