We process blocks of nested parse tables for speed. See cache_find_block() for details on how a top-level nest is split into blocks.

parse_transform_serialize_r_block(
  pd_nested,
  start_line,
  transformers,
  base_indention
)

Arguments

pd_nested

A block of the nested parse table.

start_line

The line number on which the code starts.

transformers

A list of named transformer functions

base_indention

Integer scalar indicating by how many spaces the whole output text should be indented. Note that this is not the same as splitting by line and add a base_indention spaces before the code in the case multi-line strings are present. See 'Examples'.

Examples

text_in <- 'x<- function()
"here
is"
NULL
1+ 1
'
style_text(text_in, base_indention = 3)
#>    x <- function() {
#>      "here
#> is"
#>    }
#>    NULL
#>    1 + 1
# not equal to the naive approach
styler:::construct_vertical(
  paste0(styler:::add_spaces(3), style_text(text_in), sep = "")
)
#>    x <- function() {
#>      "here
#>    is"
#>    }
#>    NULL
#>    1 + 1