Skip to content

Generate a linter, which can identify errors or problematic regions in a project.

Generate a linter, which can identify errors or problematic regions in a project.

Usage

linter(apply, takes, message, suggestion)

linter(apply, takes, message, suggestion)

Arguments

apply

Function that, given the content of a file, returns the indices at which problems were found.

takes

Function that, given a set of paths, returns the subset of paths that this linter uses.

message

Function that, given content and lines, returns an informative message for the user. Typically generated with makeLinterMessage().

suggestion

String giving a prescribed fix for the linted problem.

Examples

addLinter("no.capitals", linter(

  ## Identify lines containing capital letters -- either by name or by index
  apply = function(content, ...) {
    grep("[A-Z]", content)
  },

  ## Only use this linter on R files (paths ending with .r or .R)
  takes = function(paths) {
    grep("[rR]$", paths)
  },

  # Use the default message constructor
  message = function(content, lines, ...) {
    makeLinterMessage("Capital letters found on the following lines", content, lines)
  },

  # Give a suggested prescription
  suggest = "Do not use capital letters in these documents."
))
addLinter("no.capitals", linter(

  ## Identify lines containing capital letters -- either by name or by index
  apply = function(content, ...) {
    grep("[A-Z]", content)
  },

  ## Only use this linter on R files (paths ending with .r or .R)
  takes = function(paths) {
    grep("[rR]$", paths)
  },

  # Use the default message constructor
  message = function(content, lines, ...) {
    makeLinterMessage("Capital letters found on the following lines", content, lines)
  },

  # Give a suggested prescription
  suggest = "Do not use capital letters in these documents."
))