Provided by: universal-ctags_5.9.20210829.0-1_amd64
NAME
ctags-lang-r - Random notes about tagging R source code with Universal Ctags
SYNOPSIS
ctags ... --languages=+R ... ctags ... --language-force=R ... ctags ... --map-Python=+.r ...
DESCRIPTION
This man page gathers random notes about tagging R source code with Universal Ctags.
KINDS
If a variable gets a value returned from a well-known constructor and the variable appears for the first time in the current input file, the R parser makes a tag for the variable and attaches a kind associated with the constructor to the tag regardless of whether the variable appears in the top-level context or a function. Well-known constructor and kind mapping ┌─────────────┬───────────┐ │Constructor │ kind │ ├─────────────┼───────────┤ │function() │ function │ ├─────────────┼───────────┤ │c() │ vector │ ├─────────────┼───────────┤ │list() │ list │ ├─────────────┼───────────┤ │data.frame() │ dataframe │ └─────────────┴───────────┘ If a variable doesn't get a value returned from one of well-known constructors, the R parser attaches globalVar or functionVar kind to the tag for the variable depending on the context. Here is an example demonstrating the usage of the kinds: "input.r" G <- 1 v <- c(1, 2) l <- list(3, 4) d <- data.frame(n = v) f <- function(a) { g <- function (b) a + b w <- c(1, 2) m <- list (3, 4) e <- data.frame(n = w) L <- 2 } "output.tags" with "--options=NONE --sort=no --fields=+KZ -o - input.r" G input.r /^G <- 1$/;" globalVar v input.r /^v <- c(1, 2)$/;" vector l input.r /^l <- list(3, 4)$/;" list d input.r /^d <- data.frame(n = v)$/;" dataframe n input.r /^d <- data.frame(n = v)$/;" nameattr scope:dataframe:d f input.r /^f <- function(a) {$/;" function g input.r /^ g <- function (b) a + b$/;" function scope:function:f w input.r /^ w <- c(1, 2)$/;" vector scope:function:f m input.r /^ m <- list (3, 4)$/;" list scope:function:f e input.r /^ e <- data.frame(n = w)$/;" dataframe scope:function:f n input.r /^ e <- data.frame(n = w)$/;" nameattr scope:dataframe:f.e L input.r /^ L <- 2$/;" functionVar scope:function:f
SEE ALSO
ctags(1)