The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

printtree printtree logo

printtree prints a compact directory tree for R projects or any folder.
It can optionally detect project roots associated with common R workflows (e.g., RStudio projects via .Rproj files) and print the tree from the appropriate root directory. A snapshot of the tree directory can be generated using the snapshot feature.

The package is IDE-agnostic: if no project metadata is detected, it simply prints the directory tree for the specified folder.

Installation

# install.packages("printtree")  

Usage

library(printtree)

# Current working directory
print_rtree()

# Explicit path
print_rtree("~/Projects/myproj")

# Project name (searched in search_paths)
print_rtree("myproj", search_paths = c("~/Projects", "~/Documents"))

# Limit depth
print_rtree(max_depth = 2)

# Unicode tree (if your terminal supports it)
print_rtree(format = "unicode")

# Save a PNG snapshot
print_rtree(snapshot = TRUE)

# Dark background snapshot
print_rtree(snapshot = TRUE, snapshot_bg = "black", snapshot_file = "tree-dark.png")

#or White background with dark text
print_rtree(snapshot = TRUE, snapshot_bg = "white", snapshot_file = "tree-white.png")

# Save to a specific directory
print_rtree(snapshot = TRUE, snapshot_path = "~/Pictures")

Project root detection

When project = “root”, printtree can walk upward from the given path to detect a project root using simple markers:

This behavior can be customized using the root_markers argument.

# Detect R package root (DESCRIPTION)
print_rtree(project = "root")

# Include Quarto projects
print_rtree(project = "root",
            root_markers = c(".Rproj", "DESCRIPTION", "_quarto.yml"))

If no project root is detected, the tree is printed from the provided path.

Notes

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.