xref: /Universal-ctags/man/ctags-lang-r.7.rst.in (revision 03889d61aba38f72e8dbd86eadb6ffecf111a987)
11b5b52efSMasatake YAMATO.. _ctags-lang-r(7):
21b5b52efSMasatake YAMATO
31b5b52efSMasatake YAMATO==============================================================
41b5b52efSMasatake YAMATOctags-lang-r
51b5b52efSMasatake YAMATO==============================================================
61b5b52efSMasatake YAMATO-------------------------------------------------------------------
71b5b52efSMasatake YAMATORandom notes about tagging R source code with Universal Ctags
81b5b52efSMasatake YAMATO-------------------------------------------------------------------
91b5b52efSMasatake YAMATO:Version: @VERSION@
101b5b52efSMasatake YAMATO:Manual group: Universal Ctags
111b5b52efSMasatake YAMATO:Manual section: 7
121b5b52efSMasatake YAMATO
131b5b52efSMasatake YAMATOSYNOPSIS
141b5b52efSMasatake YAMATO--------
151b5b52efSMasatake YAMATO|	**@CTAGS_NAME_EXECUTABLE@** ... --languages=+R ...
161b5b52efSMasatake YAMATO|	**@CTAGS_NAME_EXECUTABLE@** ... --language-force=R ...
17*03889d61SMasatake YAMATO|	**@CTAGS_NAME_EXECUTABLE@** ... --map-R=+.r ...
181b5b52efSMasatake YAMATO
191b5b52efSMasatake YAMATODESCRIPTION
201b5b52efSMasatake YAMATO-----------
211b5b52efSMasatake YAMATOThis man page gathers random notes about tagging R source code
221b5b52efSMasatake YAMATOwith Universal Ctags.
231b5b52efSMasatake YAMATO
241b5b52efSMasatake YAMATOKinds
251b5b52efSMasatake YAMATO-----------
261b5b52efSMasatake YAMATOIf a variable gets a value returned from a *well-known constructor*
271b5b52efSMasatake YAMATOand the variable appears for the first time in the current input file,
281b5b52efSMasatake YAMATOthe R parser makes a tag for the variable and attaches a kind
291b5b52efSMasatake YAMATOassociated with the constructor to the tag regardless of whether
301b5b52efSMasatake YAMATOthe variable appears in the top-level context or a function.
311b5b52efSMasatake YAMATO
321b5b52efSMasatake YAMATOWell-known constructor and kind mapping
331b5b52efSMasatake YAMATO
3409bc94cdSMasatake YAMATO	============  ==================
351b5b52efSMasatake YAMATO	Constructor   kind
3609bc94cdSMasatake YAMATO	============  ==================
371b5b52efSMasatake YAMATO	function()    function
38cd905678SMasatake YAMATO	c()           vector
392b000035SMasatake YAMATO	list()        list
4009bc94cdSMasatake YAMATO	data.frame()  dataframe
4109bc94cdSMasatake YAMATO	============  ==================
421b5b52efSMasatake YAMATO
431b5b52efSMasatake YAMATOIf a variable doesn't get a value returned from one of well-known
441b5b52efSMasatake YAMATOconstructors, the R parser attaches ``globalVar`` or ``functionVar`` kind
451b5b52efSMasatake YAMATOto the tag for the variable depending on the context.
461b5b52efSMasatake YAMATO
471b5b52efSMasatake YAMATOHere is an example demonstrating the usage of the kinds:
481b5b52efSMasatake YAMATO
491b5b52efSMasatake YAMATO"input.r"
501b5b52efSMasatake YAMATO
511b5b52efSMasatake YAMATO.. code-block:: R
521b5b52efSMasatake YAMATO
531b5b52efSMasatake YAMATO	G <- 1
54cd905678SMasatake YAMATO	v <- c(1, 2)
552b000035SMasatake YAMATO	l <- list(3, 4)
5609bc94cdSMasatake YAMATO	d <- data.frame(n = v)
571b5b52efSMasatake YAMATO	f <- function(a) {
581b5b52efSMasatake YAMATO		g <- function (b) a + b
59cd905678SMasatake YAMATO		w <- c(1, 2)
602b000035SMasatake YAMATO		m <- list (3, 4)
6109bc94cdSMasatake YAMATO		e <- data.frame(n = w)
621b5b52efSMasatake YAMATO		L <- 2
631b5b52efSMasatake YAMATO	}
641b5b52efSMasatake YAMATO
651b5b52efSMasatake YAMATO"output.tags"
661b5b52efSMasatake YAMATOwith "--options=NONE --sort=no --fields=+KZ -o - input.r"
671b5b52efSMasatake YAMATO
681b5b52efSMasatake YAMATO.. code-block:: tags
691b5b52efSMasatake YAMATO
701b5b52efSMasatake YAMATO	G	input.r	/^G <- 1$/;"	globalVar
71cd905678SMasatake YAMATO	v	input.r	/^v <- c(1, 2)$/;"	vector
722b000035SMasatake YAMATO	l	input.r	/^l <- list(3, 4)$/;"	list
7309bc94cdSMasatake YAMATO	d	input.r	/^d <- data.frame(n = v)$/;"	dataframe
7409bc94cdSMasatake YAMATO	n	input.r	/^d <- data.frame(n = v)$/;"	nameattr	scope:dataframe:d
751b5b52efSMasatake YAMATO	f	input.r	/^f <- function(a) {$/;"	function
761b5b52efSMasatake YAMATO	g	input.r	/^	g <- function (b) a + b$/;"	function	scope:function:f
77cd905678SMasatake YAMATO	w	input.r	/^	w <- c(1, 2)$/;"	vector	scope:function:f
782b000035SMasatake YAMATO	m	input.r	/^	m <- list (3, 4)$/;"	list	scope:function:f
7909bc94cdSMasatake YAMATO	e	input.r	/^	e <- data.frame(n = w)$/;"	dataframe	scope:function:f
8009bc94cdSMasatake YAMATO	n	input.r	/^	e <- data.frame(n = w)$/;"	nameattr	scope:dataframe:f.e
811b5b52efSMasatake YAMATO	L	input.r	/^	L <- 2$/;"	functionVar	scope:function:f
821b5b52efSMasatake YAMATO
831b5b52efSMasatake YAMATO.. TODO:
841b5b52efSMasatake YAMATO
851b5b52efSMasatake YAMATO   - other kinds
861b5b52efSMasatake YAMATO   - operators for assignment, <-, <<-, ->>, ->, =
871b5b52efSMasatake YAMATO   - illuminating duplicated tags
881b5b52efSMasatake YAMATO   - fields (constructor, assignmentop)
891b5b52efSMasatake YAMATO   - sub parsers
901b5b52efSMasatake YAMATO
911b5b52efSMasatake YAMATOSEE ALSO
921b5b52efSMasatake YAMATO--------
931b5b52efSMasatake YAMATOctags(1)
94