knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  results = "hide"
)

styler::cache_deactivate()

knitr::knit_engines$set(list(
  styler = function(options) {
    options$comment <- ""
    knitr::engine_output(
      options,
      {
        before <- options$code
        after <- as.character(styler::style_text(options$code, strict = FALSE))
        if (!identical(trimws(before, "right"), after)) {
          stop(
            "Before unlike after. Before:", paste(before, sep = "\n"),
            "After: ", paste(after, sep = "\n")
          )
        }
        after
      },
      ""
    )
  }
))

This vignette shows how output from styler might differ when strict = FALSE. For brevity, we don't show the output of strict = TRUE, but it should be pretty simple for the user to derive it from the bullet point(s) or simply paste the code in the console to see the output.

library(styler)
function()
  NULL
1  +    (1 + 3)
1 ~  more()   #   comment
test({
  1

}
)
call(
  this)
call(2,
  more
)
ggplot2::ggplot(data, aes(x, y)) + geom_line() + scale_x_continuous()

this %>% is() %>% a() %>% long() %>% pipe()
if (TRUE) 3  else 
  5


krlmlr/styler documentation built on April 8, 2024, 7:53 p.m.