Pretty-prints a character vector of hierarchical paths as a tree. Uses Unicode box drawing characters to draw the nesting structure.
Arguments
- paths
A character vector of paths as returned by
flatten_path_tree()
orfs::dir_ls()
.- quiet
Whether or not to suppress drawing the directory tree.
Details
This function is the equivalent of fs::dir_tree()
for an artificial/fictional path hierarchy. To print a tree of an actual filesystem path hierarchy, it's
recommended to rely on fs::dir_tree()
which additionally colorizes the output based on real filesystem information. Apart from that, the algorithm to draw
the tree is the same.
See also
Other path functions:
flatten_path_tree()
,
path_mod_time()
Examples
# using an artificial/fictional path hierarchy
list("root_dir" = list("subdir1",
"subdir2" = list("file1.ext"),
"file2.ext")) |>
pal::flatten_path_tree() |>
pal::draw_path_tree()
#> root_dir
#> ├── subdir1
#> ├── subdir2
#> │ └── file1.ext
#> └── file2.ext
# using an actual path hierarchy
fs::path_package("dplyr") |>
fs::dir_ls(recurse = TRUE) |>
pal::draw_path_tree()
#> /home/salim/.software/managed/r/dplyr
#> ├── DESCRIPTION
#> ├── INDEX
#> ├── LICENSE
#> ├── Meta
#> │ ├── Rd.rds
#> │ ├── data.rds
#> │ ├── features.rds
#> │ ├── hsearch.rds
#> │ ├── links.rds
#> │ ├── nsInfo.rds
#> │ ├── package.rds
#> │ └── vignette.rds
#> ├── NAMESPACE
#> ├── NEWS.md
#> ├── R
#> │ ├── dplyr
#> │ ├── dplyr.rdb
#> │ └── dplyr.rdx
#> ├── data
#> │ ├── Rdata.rdb
#> │ ├── Rdata.rds
#> │ └── Rdata.rdx
#> ├── doc
#> │ ├── base.R
#> │ ├── base.Rmd
#> │ ├── base.html
#> │ ├── colwise.R
#> │ ├── colwise.Rmd
#> │ ├── colwise.html
#> │ ├── dplyr.R
#> │ ├── dplyr.Rmd
#> │ ├── dplyr.html
#> │ ├── grouping.R
#> │ ├── grouping.Rmd
#> │ ├── grouping.html
#> │ ├── in-packages.R
#> │ ├── in-packages.Rmd
#> │ ├── in-packages.html
#> │ ├── index.html
#> │ ├── programming.R
#> │ ├── programming.Rmd
#> │ ├── programming.html
#> │ ├── rowwise.R
#> │ ├── rowwise.Rmd
#> │ ├── rowwise.html
#> │ ├── two-table.R
#> │ ├── two-table.Rmd
#> │ ├── two-table.html
#> │ ├── window-functions.R
#> │ ├── window-functions.Rmd
#> │ └── window-functions.html
#> ├── help
#> │ ├── AnIndex
#> │ ├── aliases.rds
#> │ ├── dplyr.rdb
#> │ ├── dplyr.rdx
#> │ ├── figures
#> │ │ ├── lifecycle-archived.svg
#> │ │ ├── lifecycle-defunct.svg
#> │ │ ├── lifecycle-deprecated.svg
#> │ │ ├── lifecycle-experimental.svg
#> │ │ ├── lifecycle-maturing.svg
#> │ │ ├── lifecycle-questioning.svg
#> │ │ ├── lifecycle-retired.svg
#> │ │ ├── lifecycle-soft-deprecated.svg
#> │ │ ├── lifecycle-stable.svg
#> │ │ ├── lifecycle-superseded.svg
#> │ │ └── logo.png
#> │ └── paths.rds
#> ├── html
#> │ ├── 00Index.html
#> │ └── R.css
#> └── libs
#> └── dplyr.so
# to get colorized output, use `fs::dir_tree()` instead
fs::path_package("dplyr") |> fs::dir_tree()
#> /home/salim/.software/managed/r/dplyr
#> ├── DESCRIPTION
#> ├── INDEX
#> ├── LICENSE
#> ├── Meta
#> │ ├── Rd.rds
#> │ ├── data.rds
#> │ ├── features.rds
#> │ ├── hsearch.rds
#> │ ├── links.rds
#> │ ├── nsInfo.rds
#> │ ├── package.rds
#> │ └── vignette.rds
#> ├── NAMESPACE
#> ├── NEWS.md
#> ├── R
#> │ ├── dplyr
#> │ ├── dplyr.rdb
#> │ └── dplyr.rdx
#> ├── data
#> │ ├── Rdata.rdb
#> │ ├── Rdata.rds
#> │ └── Rdata.rdx
#> ├── doc
#> │ ├── base.R
#> │ ├── base.Rmd
#> │ ├── base.html
#> │ ├── colwise.R
#> │ ├── colwise.Rmd
#> │ ├── colwise.html
#> │ ├── dplyr.R
#> │ ├── dplyr.Rmd
#> │ ├── dplyr.html
#> │ ├── grouping.R
#> │ ├── grouping.Rmd
#> │ ├── grouping.html
#> │ ├── in-packages.R
#> │ ├── in-packages.Rmd
#> │ ├── in-packages.html
#> │ ├── index.html
#> │ ├── programming.R
#> │ ├── programming.Rmd
#> │ ├── programming.html
#> │ ├── rowwise.R
#> │ ├── rowwise.Rmd
#> │ ├── rowwise.html
#> │ ├── two-table.R
#> │ ├── two-table.Rmd
#> │ ├── two-table.html
#> │ ├── window-functions.R
#> │ ├── window-functions.Rmd
#> │ └── window-functions.html
#> ├── help
#> │ ├── AnIndex
#> │ ├── aliases.rds
#> │ ├── dplyr.rdb
#> │ ├── dplyr.rdx
#> │ ├── figures
#> │ │ ├── lifecycle-archived.svg
#> │ │ ├── lifecycle-defunct.svg
#> │ │ ├── lifecycle-deprecated.svg
#> │ │ ├── lifecycle-experimental.svg
#> │ │ ├── lifecycle-maturing.svg
#> │ │ ├── lifecycle-questioning.svg
#> │ │ ├── lifecycle-retired.svg
#> │ │ ├── lifecycle-soft-deprecated.svg
#> │ │ ├── lifecycle-stable.svg
#> │ │ ├── lifecycle-superseded.svg
#> │ │ └── logo.png
#> │ └── paths.rds
#> ├── html
#> │ ├── 00Index.html
#> │ └── R.css
#> └── libs
#> └── dplyr.so