config_dir
returns the absolute, normalized path to the configuration 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
config_dir(
app_name,
cl_arg = commandArgs()[grep("--config-dir", commandArgs()) + 1],
env_var = Sys.getenv(toupper(paste0(app_name, "_config_dir()"))),
create = FALSE,
sep = "/"
)
Normalized path to the configuration 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 configuration directory for application $app_name
:
If parameter cl_arg
is a non-empty string, return it
Else, if parameter env_var
is a non-empty string, return it
Else, if environment variable (EV) XDG_CONFIG_HOME
exists, return
$XDG_CONFIG_HOME/$app_name
Else, if EV HOME
exists, return $HOME/.config/{app_name}
Else, if EV USERPROFILE
exists, return
$USERPROFILE/.config/{app_name}
Else, return $WD/.config/{app-name}
where $WD
equals the current working directory and the notation $VAR
is used to specify the value of a parameter or environment variable VAR.
data_dir()
, config_file()
, xdg_config_home()