Skip to content

Commit 8a63d95

Browse files
Merge pull request #1063 from r-lib/issue-1058
Better communication if `styler.cache_root` is not set.
2 parents f313f3e + b74067c commit 8a63d95

File tree

4 files changed

+55
-22
lines changed

4 files changed

+55
-22
lines changed

R/ui-caching.R

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,25 @@ cache_clear <- function(cache_name = NULL, ask = TRUE) {
2323
#' Remember the past to be quicker in the future
2424
#'
2525
#' Caching makes styler faster on repeated styling and is shared across all APIs
26-
#' (e.g. `style_text()` and Addin).
27-
#' That means if you style code that already complies to a
28-
#' style guide and you have previously styled that code, it will be quicker.
26+
#' (e.g. `style_text()` and Addin). That means if you style code that already
27+
#' complies to a style guide and you have previously styled that code, it will
28+
#' be quicker.
29+
#'
30+
#' @section Configuring the cache:
31+
#'
32+
#' To comply with the CRAN policy, \{styler\} will by default clean up cache files
33+
#' that are older than 6 days. This implies that you loose the benefit of the cache
34+
#' for the files not styled in the last 6 days.
35+
#'
36+
#' If you want to avoid this, i.e., if you want the cache to last longer, you can use the
37+
#' R option `styler.cache_root` to opt for an indefinitely long-lived cache by setting it to
38+
#' `options(styler.cache_root = "styler-perm")`.
39+
#'
40+
#' If you are happy with the cache being cleared after 6 days, you can confirm the default and
41+
#' silence this message by setting it instead to `options(styler.cache_root = "styler")`.
42+
#'
43+
#' You can make this change in your `.Rprofile` using `usethis::edit_r_profile()`.
44+
#'
2945
#' @section Manage the cache:
3046
#' See [cache_info()],[cache_activate()] or [cache_clear()] for utilities to
3147
#' manage the cache. You can deactivate it altogether with [cache_deactivate()].
@@ -47,6 +63,11 @@ cache_clear <- function(cache_name = NULL, ask = TRUE) {
4763
#' which is why it takes zero space on disk (the cache is a directory with
4864
#' empty files which have the hash of output code as name).
4965
#'
66+
#' The cache literally takes zero space on your disk, only the inode, and you
67+
#' can always manually clean up with [cache_clear()] or just go to the
68+
#' directory where the cache lives (find it with [cache_info()]) and manually
69+
#' delete files.
70+
#'
5071
#' @section Using a cache for styler in CI/CD:
5172
#' If you want to set up caching in a CI/CD pipeline, we suggest to set the
5273
#' `{R.cache}` root path to a directory for which you have the cache enabled.

R/zzz.R

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -31,21 +31,11 @@ ask_to_switch_to_non_default_cache_root <- function(ask = interactive()) {
3131
}
3232
}
3333

34+
3435
ask_to_switch_to_non_default_cache_root_impl <- function() {
35-
rlang::warn(paste0(
36-
"The R option `styler.cache_root` is not set, which means the cache ",
37-
"will get cleaned up after 6 days (and repeated styling will be slower).",
38-
" To keep cache files longer, set ",
39-
"the option to location within the {R.cache} cache where you want to ",
40-
"store the cache, e.g. `\"styler-perm\"`.\n\n",
41-
"options(styler.cache_root = \"styler-perm\")\n\n",
42-
"in your .Rprofile. Note that the cache literally ",
43-
"takes zero space on your disk, only the inode, and you can always ",
44-
"manually clean up with `styler::cache_clear()`, and if you update the ",
45-
"{styler} package, the cache is removed in any case. To ignore this ",
46-
"message in the future, set the default explictly to \"styler\" with\n\n",
47-
"options(styler.cache_root = \"styler\")\n\nin your `.Rprofile`. This ",
48-
"message will only be displayed once in a while.\n"
36+
rlang::inform(paste0(
37+
"{styler} cache is cleared after 6 days. ",
38+
"See `?styler::caching` to configure differently or silence this message."
4939
))
5040
}
5141

man/caching.Rd

Lines changed: 25 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/testthat/test-public_api.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -512,9 +512,9 @@ test_that("Can properly determine style_after_saving", {
512512
test_that("Can display warning on unset styler cache", {
513513
withr::local_options(styler.cache_root = NULL)
514514
withr::local_seed(7)
515-
expect_warning(
515+
expect_message(
516516
ask_to_switch_to_non_default_cache_root(ask = TRUE),
517-
'options(styler.cache_root = "styler-perm")',
517+
"See `?styler::caching`",
518518
fixed = TRUE
519519
)
520520
})

0 commit comments

Comments
 (0)