Learn R Programming

xfun (version 0.48)

proj_root: Return the (possible) root directory of a project

Description

Given a path of a file (or dir) in a potential project (e.g., an R package or an RStudio project), return the path to the project root directory.

Usage

proj_root(path = "./", rules = root_rules)

root_rules

Value

Path to the root directory if found, otherwise NULL.

Format

An object of class matrix (inherits from array) with 2 rows and 2 columns.

Arguments

path

The initial path to start the search. If it is a file path, its parent directory will be used.

rules

A matrix of character strings of two columns: the first column contains regular expressions to look for filenames that match the patterns, and the second column contains regular expressions to match the content of the matched files. The regular expression can be an empty string, meaning that it will match anything.

Details

The search for the root directory is performed by a series of tests, currently including looking for a DESCRIPTION file that contains Package: * (which usually indicates an R package), and a *.Rproj file that contains Version: * (which usually indicates an RStudio project). If files with the expected patterns are not found in the initial directory, the search will be performed recursively in upper-level directories.