oneliner – a new style guide for styler
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
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.