当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R rtags 类似 Etags 的 R 标记实用程序


R语言 rtags 位于 utils 包(package)。

说明

rtags 使用 R 自己的解析器为 R 代码提供 etags-like 索引函数。

用法

rtags(path = ".", pattern = "\\.[RrSs]$",
      recursive = FALSE,
      src = list.files(path = path, pattern = pattern,
                       full.names = TRUE,
                       recursive = recursive),
      keep.re = NULL,
      ofile = "", append = FALSE,
      verbose = getOption("verbose"),
      type = c("etags", "ctags"))

参数

path , pattern , recursive

论点传递给list.files确定要标记的文件。默认情况下,这些都是扩展名为“.R', '.r', '.S', 和 '.s' 在当前目录中。如果出现以下情况,这些参数将被忽略src被指定。

src

要索引的文件名向量。

keep.re

进一步限制的正则表达式src(要索引的文件)。例如,指定keep.re = "/R/[^/]*\\.R$"只会保留扩展名为“的文件”.R' 在名为 ' 的目录中R’。

ofile

作为 file 参数传递给 cat;通常是写入标签的输出文件(按照惯例"TAGS""tags")。默认情况下,输出写入 R 控制台(除非重定向)。

append

逻辑,指示输出是否应覆盖现有文件或附加到该文件。

verbose

逻辑性强。如果是 TRUE ,则文件名在处理时会回显到 R 控制台。

type

指定要生成 emacs 风格 ( "etags" ) 还是 vi 风格 ( "ctags" ) 标签的字符串。

细节

许多文本编辑器允许通过标记实用程序在源文件中快速轻松地定位函数和其他语言对象的定义。此函数需要预处理相关源文件,生成包含名称及其相应位置的索引(或标记)文件。有多种标记文件格式,最流行的是 vi-style ctags 格式和 emacs-style etags 格式。这些格式的标记文件通常分别由 ctagsetags 实用程序生成。不幸的是,这些程序无法识别 R 代码语法。它们确实允许通过正则表达式标记任意语言文件,但这还不够。

rtags 函数旨在成为 R 代码的标记实用程序。它解析 R 代码文件(使用 R 的解析器)并生成 etags 和 ctags 格式的标签。对 vi-style ctags 的支持还很初级,是根据 Neal Fultz 的补丁改编的;参见PR#17214

使用命令行包装脚本 R CMD rtags 可能更方便。

例子


## Not run: 
rtags("/path/to/src/repository",
      pattern = "[.]*\\.[RrSs]$",
      keep.re = "/R/",
      verbose = TRUE,
      ofile = "TAGS",
      append = FALSE,
      recursive = TRUE)

## End(Not run)

作者

Deepayan Sarkar

参考

https://en.wikipedia.org/wiki/Ctags, https://www.gnu.org/software/emacs/manual/html_node/emacs/Tags-Tables.html

也可以看看

list.files , cat

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 An Etags-like Tagging Utility for R。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。