
Last chance! 50% off unlimited learning
Sale ends in
Check that closures have the proper usage using codetools::checkUsage()
.
Note that this runs base::eval()
on the code, so do not use with untrusted code.
object_usage_linter(interpret_glue = TRUE, skip_with = TRUE)
If TRUE
, interpret glue::glue()
calls to avoid false positives caused by local variables
which are only used in a glue expression.
A logical. If TRUE
(default), code in with()
expressions
will be skipped. This argument will be passed to skipWith
argument of
codetools::checkUsage()
.
The following linters are tagged with 'package_development':
backport_linter
conjunct_test_linter
expect_comparison_linter
expect_identical_linter
expect_length_linter
expect_named_linter
expect_not_linter
expect_null_linter
expect_s3_class_linter
expect_s4_class_linter
expect_true_false_linter
expect_type_linter
package_hooks_linter
yoda_test_linter
linters for a complete list of linters available in lintr.
# will produce lints
lint(
text = "foo <- function() { x <- 1 }",
linters = object_usage_linter()
)
# okay
lint(
text = "foo <- function(x) { x <- 1 }",
linters = object_usage_linter()
)
lint(
text = "foo <- function() { x <- 1; return(x) }",
linters = object_usage_linter()
)
Run the code above in your browser using DataLab