brace_linter: Brace linter

View source: R/brace_linter.R

brace_linterR Documentation

Brace linter

Description

Perform various style checks related to placement and spacing of curly braces:

Usage

brace_linter(allow_single_line = FALSE)

Arguments

allow_single_line

if TRUE, allow an open and closed curly pair on the same line.

Details

  • Opening curly braces are never on their own line and are always followed by a newline.

  • Opening curly braces have a space before them.

  • Closing curly braces are on their own line unless they are followed by an ⁠else⁠.

  • Closing curly braces in if conditions are on the same line as the corresponding ⁠else⁠.

  • Either both or neither branch in if/⁠else⁠ use curly braces, i.e., either both branches use {...} or neither does.

  • Functions spanning multiple lines use curly braces.

Tags

configurable, default, readability, style

See Also

Examples

# will produce lints
lint(
  text = "f <- function() { 1 }",
  linters = brace_linter()
)

writeLines("if (TRUE) {\n return(1) }")
lint(
  text = "if (TRUE) {\n return(1) }",
  linters = brace_linter()
)

# okay
writeLines("f <- function() {\n  1\n}")
lint(
  text = "f <- function() {\n  1\n}",
  linters = brace_linter()
)

writeLines("if (TRUE) { \n return(1) \n}")
lint(
  text = "if (TRUE) { \n return(1) \n}",
  linters = brace_linter()
)

# customizing using arguments
writeLines("if (TRUE) { return(1) }")
lint(
  text = "if (TRUE) { return(1) }",
  linters = brace_linter(allow_single_line = TRUE)
)

r-lib/lintr documentation built on Dec. 20, 2024, 7:24 p.m.