data_dir
returns the absolute, normalized path to the data directory of a program/package/app based on an optional app-specific commandline argument, an optional app-specific environment variable and the XDG Base Directory Specification
data_dir(
app_name,
cl_arg = commandArgs()[grep("--data-dir", commandArgs()) + 1],
env_var = Sys.getenv(toupper(paste0(app_name, "_DATA_DIR"))),
create = FALSE,
sep = "/"
)
Normalized path to the data directory of $app_name
.
Name of the program/package/app
Value of app specific commandline parameter
Value of app specific environment variable
whether to create returned path, if it doesn't exists yet
Path separator to be used on Windows
The following algorithm is used to determine the location of the data directory for application $app_name
:
If parameter $cl_arg
is a non-empty string, return cl_arg
Else, if parameter $env_var
is a non-empty string, return $env_var
Else, if environment variable (EV) $XDG_DATA_HOME
exists, return
$XDG_DATA_HOME/$app_name
Else, if EV $HOME
exists, return $HOME/.local/share/$app_name
Else, if EV $USERPROFILE
exists, return
$USERPROFILE/.local/share/$app_name
Else, return $WD/.local/share
config_dir()
, xdg_data_home()