styler 1.1.1 2019-05-06

This is primarily a maintenance release upon the request of the CRAN team (#490).

Major changes

  • Users can now control style configurations for styler Addins (#463, #500), using the Set style Addin. See ?styler::styler_addins for details.

  • return() is now always put in braces and put on a new line when used in a conditional statement (#492).

  • %>% almost always causes a line break now for strict = TRUE (#503).

Minor changes

  • style_pkg() now also styles the “demo” directory by default (#453).

  • multi-line strings are now styled more consistently (#459).

  • indention in roxygen code example styling (#455) and EOF spacing (#469) was fixed.

  • indention for for loop edge case (#457) and comments in pipe chain (#482) were fixed.

  • line-break styling around comma is improved (#479).

  • bug that can cause an error when the variable text in any name space before styler on the search path was defined and did not have length 1 is fixed (#484).

  • slightly confusing warning about empty strings caused with roxygen code examples and Rmd was removed.

  • right apostrophe to let package pass R CMD Check in strict Latin-1 locale was removed (#490, reason for release).

Adaption of styler

Since it’s never been mentioned in the release notes, we also mention here where else you can use styler functionality:

  • usethis::use_tidy_style() styles your project according to the tidyverse style guide.

  • reprex::reprex(style = TRUE) to prettify reprex code before printing. To permanently use style = TRUE without specifying it every time, you can add the following line to your .Rprofile (via usethis::edit_r_profile()): options(reprex.styler = TRUE).

  • you can pretty-print your R code in RMarkdown reports without having styler modifying the source. This feature is implemented as a code chunk option in knitr. use tidy = "styler" in the header of a code chunks (e.g. ```{r name-of-the-chunk, tidy = "styler"}), or knitr::opts_chunk$set(tidy = "styler") at the top of your RMarkdown script.

  • pretty-printing of drake workflow data frames with drake::drake_plan_source().

  • Adding styler as a fixer to the ale Plug-in for VIM.

Thanks to all contributors involved, in particular @ArthurPERE, @hadley, @igordot, @IndrajeetPatil, @jackwasey, @jcrodriguez1989, @jennybc, @jonmcalder, @katrinleinweber, @krlmlr, @lorenzwalthert, @michaelquinn32, @msberends, @raynamharris, @riccardoporreca, @rjake, @Robinlovelace, @skirmer, @thalesmello, @tobiasgerstenberg, @tvatter, @wdearden, @wmayner, and @yech1990.

styler 1.1.0 2018-11-20

This release introduces new features and is fully backward-compatible. It also adapts to changes in the R parser committed into R devel (#419).

Major Changes

  • styler can now style roxygen code examples in the source code of package (#332) as well as Rnw files (#431).

  • the print method for the output of style_text() (print.vertical()) now returns syntax-highlighted code by default, controllable via the option styler.colored_print.vertical (#417).

  • the README was redesigned (#413).

  • semi-colon expression that contained multiple assignments was fixed (#404).

Minor Changes

  • cursor position is remembered for styling via Addin (#416).

  • adapt spacing around tilde for multi-token expressions(#424) and brace edge case (#425).

  • only add brackets to piped function call if RHS is a symbol (#422).

  • increase coverage again to over 90% (#412).

  • move rule that turns single quotes into double quotes to token modifier in `tidyverse_style_guide() (#406).

  • remove line-breaks before commas (#405).

  • removed package dependency enc in favor of xfun (#442).

Thanks to all contributors for patches, issues and the like: @jonmcalder, @krlmlr, @IndrajeetPatil, @kalibera, @Hasnep, @kiranmaiganji, @dirkschumacher, @ClaytonJY, @wlandau, @maurolepore

styler 1.0.2 2018-06-26

This is a maintenance release without any breaking API changes.

Major Changes

  • Fixed indention for named multi-line function calls (#372).

  • Non-R code chunks in .Rmd files are now respected and won’t get styled (#386).

Minor Changes

  • Fixing an edge case in which, if very long strings were present in the code, tokens could be replaced with wrong text (#384).

  • Spacing around tilde in formulas depends now on whether there is a LHS in the formula (#379).

  • Spaces are now also added around EQ_SUB (=) (#380).

  • Added CONTRIBUTING.md to outline guidelines for contributing to styler.

  • More informative error messages for parsing problems (#401, #400).

  • Improved documentation (#387).

Thanks to all contributors for patches, issues and the like: @katrinleinweber, @krlmlr, @dchiu911, @ramnathv, @aedobbyn, @Bio7, @tonytonov, @samhinshaw, @fny, @vnijs, @martin-mfg, @NGaffney, @dchiu911.

styler 1.0.1 2018-03-08

This is a maintenance release without any breaking API changes.

Minor changes

  • We’re now recognizing and respecting more DSLs used in R comments: rplumber (#*, #306), shebang #/! (#345), knitr chunk headers for spinning (#+ / #-, #362).

  • Named arguments can stay on the first line if call is multi-line (#318).

  • No space anymore with tidyverse_style() after !! since with rlang 0.2, !! now binds tighter (#322), spacing around ~ (#316), no space anymore around ^ (#308).

  • Code chunks in Rmd documents that don’t use the R engine are no longer formatted (#313).

  • Various bug fixes and edge case improvements.

Thanks to all contributors for patches, issues and the like: @devSJR, @klrmlr, @yutannihilation, @samhinshaw, @martin-mfg, @jjramsey, @RMHogervorst, @wlandau, @llrs, @aaronrudkin, @crew102, @jkgrain, @jennybc, @joranE.

styler 1.0.0 2017-12-11

Initial release.

style guides

These functions are the style guides implemented.

tidyverse_style(
  scope = "tokens", 
  strict = TRUE, 
  indent_by = 2, 
  start_comments_with_one_space = FALSE, 
  reindention = tidyverse_reindention(), 
  math_token_spacing = tidyverse_math_token_spacing()
)
tidyverse_reindention()
tidyverse_math_token_spacing())