Expand description
A library to parse and work with figtree documents.
Figtree is a file format designed for config files that need to be easily manipulated by real life humans. It is made up of nodes, keys, and values, and looks a bit like this:
node {
"key": "value",
"multiple types": ["strings", 1, 2.0, false, !identifier],
subnodes {
"with": {"more": "key", "value": "pairs"}
}
}
The figtree library parses structures like this into documents that can be manipulated to use as an efficient configuration system.
§Examples
extern crate figtree;
let mut figgy = figtree::Figtree::from_string("node { 'key': 'val' }");
let config = figgy.parse().ok().expect("parsing error");
let value = config.get_node("node")
.and_then(|node| node.get_attr("key"))
.and_then(|value| value.get_str())
.expect("could not obtain value");
assert!(value == "val");
Re-exports§
pub use types::*;
Modules§
- types
- A collection of types that define a figtree document.
Structs§
Enums§
- LexError
- An enum representing different kinds of lexing errors
- LexToken
- A enum representing different kinds of lexed event
- Parse
Error - An enum representing an error that occurs during parsing.