Style code according to the tidyverse style guide.
Usage
tidyverse_style(
scope = "tokens",
strict = TRUE,
indent_by = 2L,
start_comments_with_one_space = FALSE,
reindention = tidyverse_reindention(),
math_token_spacing = tidyverse_math_token_spacing()
)Arguments
- scope
The extent of manipulation. Can range from "none" (least invasive) to "tokens" (most invasive). See 'Details'. This argument is a string or a vector of class
AsIs.- strict
A logical value indicating whether a set of strict or not so strict transformer functions should be returned. Compare the functions returned with or without
strict = TRUE. For example,strict = TRUEmeans force one space e.g. after "," and one line break e.g. after a closing curly brace.strict = FALSEmeans to set spaces and line breaks to one if there is none and leave the code untouched otherwise. See 'Examples'.- indent_by
How many spaces of indention should be inserted after operators such as '('.
- start_comments_with_one_space
Whether or not comments should start with only one space (see
start_comments_with_space()).- reindention
A list of parameters for regex re-indention, most conveniently constructed using
specify_reindention().- math_token_spacing
A list of parameters that define spacing around math token, conveniently constructed using
specify_math_token_spacing().
Details
The following levels for scope are available:
"none": Performs no transformation at all.
"spaces": Manipulates spacing between token on the same line.
"indention": Manipulates the indention, i.e. number of spaces at the beginning of each line.
"line_breaks": Manipulates line breaks between tokens.
"tokens": manipulates tokens.
scope can be specified in two ways:
As a string: In this case all less invasive scope levels are implied, e.g. "line_breaks" includes "indention", "spaces". This is brief and what most users need.
As vector of class
AsIs: Each level has to be listed explicitly by wrapping one ore more levels of the scope inI(). This offers more granular control at the expense of more verbosity.
See 'Examples' for details.
Examples
style_text("call( 1)", style = tidyverse_style, scope = "spaces")
#> call(1)
style_text("call( 1)", transformers = tidyverse_style(strict = TRUE))
#> call(1)
style_text(c("ab <- 3", "a <-3"), strict = FALSE) # keeps alignment of "<-"
#> ab <- 3
#> a <- 3
style_text(c("ab <- 3", "a <-3"), strict = TRUE) # drops alignment of "<-"
#> ab <- 3
#> a <- 3
# styling line breaks only without spaces
style_text(c("ab <- 3", "a =3"), strict = TRUE, scope = I(c("line_breaks", "tokens")))
#> ab <- 3
#> a <-3
