Here is how tag syntax is defined for the most popular languages:
struct
, union
and enum
. #define
macro
definitions and enum
constants are also tags, unless you specify
`--no-defines
' when making the tags table. Similarly, global
variables are tags, unless you specify `--no-globals
'. Use of
`--no-globals
' and `--no-defines
' can make the tags table file
much smaller.
--members
' option. Tags for variables and functions in
classes are named `class::variable
' and
`class::function
'.
extends
and implements
constructs. Tags for variables
and functions in classes are named `class.variable
' and
`class.function
'.
\chapter
,
\section
, \subsection
, \subsubsection
,
\eqno
, \label
, \ref
, \cite
, \bibitem
,
\part
, \appendix
, \entry
, or \index
, is a
tag.
Other commands can make tags as well, if you specify them in the
environment variable TEXTAGS
before invoking etags
. The
value of this environment variable should be a colon-separated list of
command names. For example,
TEXTAGS="def:newcommand:newenvironment" export TEXTAGS
specifies (using Bourne shell syntax) that the commands `\def
',
`\newcommand
' and `\newenvironment
' also define tags.
defun
, any variable
defined with defvar
or defconst
, and in general the first
argument of any expression that starts with `(def
' in column zero, is
a tag.
def
or with a
construct whose name starts with `def
'. They also include variables
set with set!
at top level in the file.
Several other languages are also supported:
sub
keyword.
You can also generate tags based on regexp matching (see Create Tags Table) to handle other formats and languages.
Tags Create Tags Table