# quercus
*quercus* is the scientific genus name for oak trees.
This crate was inspired by [ptree](https://crates.io/crates/ptree).
## Main features
This crate allows you to create trees with many roots.
This crate does not have a syntax distinction for the first node/branch of a given root. This makes it easy to create a tree recursively, as the order information is not needed when adding a new branch.
## Usage
The code:
```rust
let mut tree = Tree::new();
tree.node("Root");
tree.begin_branches();
tree.node("Branch 1");
tree.node("Branch 2");
tree.end_branches();
tree.prune();
println!("{tree}");
```
results in the following output:

For a node with many lines use the `node_many_lines()` command.
## Examples
For an example that uses the [colored]() crate as well as the `node_many_lines()` command, run
```
$ cargo run --release --example hierarchy
```
This should yield the following output:

For an example that builds a tree recursively, run
```
$ cargo run --release --example fibonacci
```
This should yield the following output:

## License
This project is licensed under either
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or https://www.apache.org/licenses/LICENSE-2.0)
* MIT License ([LICENSE-MIT](LICENSE-MIT) or https://opensource.org/licenses/MIT)