tjmahr / WrapRmd

RStudio addin for wrapping RMarkdown paragraphs
Other
102 stars 8 forks source link

Support roxygen-style comment paragraphs #6

Open andrewheiss opened 8 years ago

andrewheiss commented 8 years ago

It is possible to embed Markdown text within a standard .R file (instead of embedding code in chunks in a .Rmd file) and compile the .R file with knitr::spin(), as long as the text is prefaced with roxygen-style #' comments. Regular inline R code can be included as well, just like in an .Rmd file.

When wrapping with WrapRmd (to maintain inline R code), however, the #' line prefixes are not maintained. For example, this:

#' Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod `r rnorm(10)` tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Wraps to this, which keeps the inline R code intact, but doesn't continue the #' prefixes:

#' Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
`r rnorm(10)` tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit
esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat
non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

RStudio continues the #' prefixes when wrapping:

#' Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod `r
#' rnorm(10)` tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
#' minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
#' ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
#' velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
#' cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
#' est laborum.

But it obviously doesn't preserve inline R code (which is why this addin exists in the first place).

Would it be possible to add #' to rewrapped roxygen-style prose chunks in .R files and maintain inline R code?

tjmahr commented 8 years ago

Hmmm, I'll have to think about whether is something I'd like the main function to handle or just offer this as a different function. Then I'll have to study RStudio's implementation of the comment reflowing.