oneliner – a new style guide for styler

[This article was first published on Lorenz Walthert, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

I am happy to introduce oneliner, a package that implements the one-line-style as a third-party style guide ready to use with styler. Hence, after the tidyverse style guide, this is the first third-party style guide for styler I am aware of – and a particularly useful one.

Let’s see an example

# remotes::install_github("lorenzwalthert/oneliner")
library(oneliner)
style_text(
  "sum <- function(x, y) {
   x + # hi
   y
  }
  1 + 1",
  style = one_line_style
)
## sum<-function(x,y){x+y};1+1

You can also use other interfaces such as styler::style_pkg(..., style = oneliner::one_line_style ) to style entire source trees.

As you can guess from the name and the code above, the style guide has three rules only:

  • Remove all comments.
  • Remove (almost all) spaces possible.
  • Put all code on one line.

Compared to the tidyverse style guide, which contains 37 sections organized in seven chapters (with each section typically containing multiple rules), one-line-style is a great simplification to say the least. Further advantages of the style guide proposed include:

  • Entirely self-explanatory (probably biggest plus).
  • It ends the tabs / spaces indention war in an unexpected and elegant way.
  • You don’t need to worry about EOL markers.
  • You can easily export to csv. One command per column.
  • People (including you) can’t read your code and think you are a genius.
  • and so on.

I am sure I have convinced you that this style guide rocks. This is for real programmers. All code on one line. No spaces or comments. I am serious. Use this style guide to format your code like nerds do. Or if you quit a company and you want to give your team mates a little challenge.

As a final note, be aware that you can always use the tidyverse style guide on code that was styled according to one-line-style because the AST should not be changed with one-line-style.

library("styler")
style_text("sum<-function(x,y){x+y};1+1", style = tidyverse_style)
## sum <- function(x, y) {
##   x + y
## }
## 1 + 1

To leave a comment for the author, please follow the link and comment on their blog: Lorenz Walthert.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)