Skip to contents
  • lint() lints a single file.

  • lint_dir() lints all files in a directory.

  • lint_package() lints all likely locations for R files in a package, i.e. R/, tests/, inst/, vignettes/, data-raw/, and demo/.

Usage

lint(
  filename,
  linters = NULL,
  ...,
  cache = FALSE,
  parse_settings = TRUE,
  text = NULL
)

lint_dir(
  path = ".",
  ...,
  relative_path = TRUE,
  exclusions = list("renv", "packrat"),
  pattern = rex::rex(".", one_of("Rr"), or("", "html", "md", "nw", "rst", "tex", "txt"),
    end),
  parse_settings = TRUE
)

lint_package(
  path = ".",
  ...,
  relative_path = TRUE,
  exclusions = list("R/RcppExports.R"),
  parse_settings = TRUE
)

Arguments

filename

either the filename for a file to lint, or a character string of inline R code for linting. The latter (inline data) applies whenever filename has a newline character (\n).

linters

a named list of linter functions to apply. See linters for a full list of default and available linters.

...

Provide additional arguments to be passed to:

  • exclude() (in case of lint(); e.g. lints or exclusions)

  • lint() (in case of lint_dir() and lint_package(); e.g. linters or cache)

cache

given a logical, toggle caching of lint results. If passed a character string, store the cache in this directory.

parse_settings

whether to try and parse the settings.

text

Optional argument for supplying a string or lines directly, e.g. if the file is already in memory or linting is being done ad hoc.

path

For the base directory of the project (for lint_dir()) or package (for lint_package()).

relative_path

if TRUE, file paths are printed using their path relative to the base directory. If FALSE, use the full absolute path.

exclusions

exclusions for exclude(), relative to the package path.

pattern

pattern for files, by default it will take files with any of the extensions .R, .Rmd, .Rnw, .Rhtml, .Rrst, .Rtex, .Rtxt allowing for lowercase r (.r, ...)

Value

A list of lint objects.

Details

Read vignette("lintr") to learn how to configure which linters are run by default. Note that if files contain unparseable encoding problems, only the encoding problem will be linted to avoid unintelligible error messages from other linters.

Examples