8 releases (4 breaking)
0.5.0 | Jul 31, 2024 |
---|---|
0.4.0 | Oct 27, 2021 |
0.3.2 | Mar 13, 2021 |
0.3.1 | Jan 6, 2021 |
0.1.0 | Aug 20, 2018 |
#43 in Command-line interface
45,511 downloads per month
Used in 194 crates
(42 directly)
88KB
1K
SLoC
Pretty-print tree-like structures
The ptree
crate supports output formatting due to a user-provided configuration file and/or environment variables.
Usage
[dependencies]
ptree = "0.4"
Constructing a tree
There are two main ways of using ptree
to print a tree-like data structure.
The first is to implement TreeItem
for your structure.
The second is to create a new tree, either using TreeBuilder
or by manually constructing StringItem
s.
The ptree
crate includes implementations of TreeItem
for some common types, including a custom StringItem
and petgraph::Graph
.
Printing the tree
A tree can be printed to standard output using print_tree
, or to an arbitrary writer using write_tree
.
Both functions have variants which take a PrintConfig
that controls the output.
Text is formatted using ansi-term
, which allows changing colors and styles of the printed text.
User configuration
By default, ptree
loads configuration from a user configuration file.
This allows end users to globally configure the output format for all applications using ptree
.
Applications can use this configuration directly, modify it, or ignore it altogether.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~2–13MB
~102K SLoC