styler
styler copied to clipboard
Set off each comment with one blank line?
Preamble
An effective way to get an overview of the code is to read the comments without reading the code. Setting comments off with a blank line helps distinguish code from comments and makes it easy for the reader to scan the code or the comment.
Actual
This is a minimal reprex to illustrate the issue, but you can scale this to more complex comments and highly involved code block below each comment.
styler::style_text("# comment-1
if (TRUE) {
# comment-2
x <- 1
# comment-3
a <- 3
}
# comment-4
x + 1")
#> # comment-1
#> if (TRUE) {
#> # comment-2
#> x <- 1
#> # comment-3
#> a <- 3
#> }
#> # comment-4
#> x + 1
Created on 2022-11-30 with reprex v2.0.2
Expected
Note that this doesn't apply to the comments at the start of the scope.
#> # comment-1
#> if (TRUE) {
#> # comment-2
#> x <- 1
+ #>
#> # comment-3
#> a <- 3
#> }
+ #>
#> # comment-4
#> x + 1
I see the use case, but most people won't want this always. Note that {styler} preserves line breaks around comments in certain situations (search the issues for more context), e.g. in your case,
styler::style_text("# comment-1
if (TRUE) {
# comment-2
x <- 1
# comment-3
a <- 3
}
# comment-4
x + 1")
#> # comment-1
#> if (TRUE) {
#> # comment-2
#> x <- 1
#>
#> # comment-3
#> a <- 3
#> }
#>
#> # comment-4
#> x + 1
Created on 2022-11-30 with reprex v2.0.2
Hence, I consider such an invasive formatting out of scope for {styler}. Maybe also check out https://github.com/lionel-/codegrip?
I see the use case, but most people won't want this always.
Maybe this can be an optional argument? E.g. offset_comment_with_one_blank_line?
https://github.com/r-lib/styler/blob/d137eb6f88cfd88e621f7c92cb8a4de868e5a93c/R/style-guides.R#L68
Note that {styler} preserves line breaks around commas in certain situations
I didn't get the connection between this comment and the reprex in your comment.
Hence, I consider such an invasive formatting out of scope for {styler}. Maybe also check out https://github.com/lionel-/codegrip?
Looking at the roadmap section of codegrip, I doubt it's in the scope of that package either.
I didn't get the connection between this comment and the reprex in your comment.
Fixed, I meant comments, not commas :D
I am not gonna implement this, but if you want, you can send a PR. I think the default should be the current behavior.