quercus 0.1.1

Easy to use CLI tree for your branchy info.
Documentation
use colored::*;
use quercus::*;

fn main() {
    let mut tree = Tree::new().style(PipeStyle::Thick).indent(3);

    tree.node("Root");

    tree.begin_branches();
    tree.node("Branch 1");
    tree.node("Branch 2");

    tree.begin_branches();
    tree.node("Branch 2.1 \r\n\r\nMulti line attempt"); // <-- Line breaks are ignored with node()

    // Use node_many_lines() for a node with many lines
    tree.node_many_lines(&[
        "Branch 2.2".green().bold().to_string().as_str(),
        "Node",
        "with",
        "many",
        "lines",
    ]);

    tree.begin_branches();
    tree.node("multi-line nodes can have");
    tree.node("branches too!");
    tree.end_branches();

    tree.node("Branch 2.3");
    tree.end_branches();

    tree.node_many_lines(&["Branch 3", ""]);
    tree.end_branches();

    tree.style(PipeStyle::Double);

    tree.node("Another Root");

    tree.begin_branches();
    tree.node("Branch 1");
    tree.node("Branch 2");

    tree.begin_branches();
    tree.node("John");
    tree.node("Jane");

    tree.begin_branches();
    tree.node_many_lines(&[
        "something".yellow().bold().to_string().as_str(),
        "interesting".red().bold().to_string().as_str(),
    ]);
    tree.node_many_lines(&["".dimmed().to_string().as_str(), "", "something here"]);
    tree.end_branches();

    tree.end_branches();

    tree.node("Branch 3");
    tree.end_branches();

    tree.prune_and_print();
}