预处理或后处理的氧气片段

mat*_*fee 68 r roxygen2

是否有一些机制可以转换roxygen看到的评论,最好是在进行roxygen-> rd转换之前?

例如,假设我有:

#' My function. Does stuff with numbers.
#'
#' This takes an input `x` and does something with it.
#' @param x a number.
myFunction <- function (x) {
}
Run Code Online (Sandbox Code Playgroud)

现在,假设我想在roxygen解析之前对注释进行一些转换,例如用反引号替换所有实例\code{}.即:

preprocess <- function (txt) {
    gsub('`([^ ]+)`', '\\\\code{\\1}', txt)
}
# cat(preprocess('Takes an input `x` and does something with it'.))
# Takes an input \code{x} and does something with it.
Run Code Online (Sandbox Code Playgroud)

我可以preprocess以某种方式进入roxygen,以便它会在之前(或者在这种情况下工作之后)在doclet上运行它吗?roxygen会生成它的文档吗?

我不想在我的.r文件中进行永久性的查找替换.正如你可能从我的例子中猜到的那样,我的目标是在我的roxygen评论中提供一些基本的降价支持,因此希望保留我的.r文件以保持可读性(并以\code{..}编程方式插入内容).

如果我只是写我自己的版本roxygenise,运行preprocess在我的文件上检测到的所有roxygen风格的注释,它们保存暂时某处,然后运行实际的 roxygenise那些?

mat*_*fee 0

几年后重新审视这一点,看起来 Roxygen 有一个功能register.preref.parsers,可以用来将自己的解析器注入到 roxygen 中。其中一个这样的用途是有前途的maxygen 包(markdown + roxygen = maxygen),它是 roxygen 注释的 markdown 处理的一个非常简洁的实现(尽管仅适用于 CommonMark 规范),您可以看到它是如何在该包的macument中使用的功能。我热切地等待“pandoc + roxygen = pandoxygen”......:)