ctags - Makes a tags file for source file objects.
ctags [-aBdFtuvw] [-f tags_file] pathname...
ctags -x pathname...
Interfaces documented on this reference page conform to
industry standards as follows:
ctags: SVID 3, XCU5.0
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
The following options conform to both the XCU5.0 and SVID
3 standards: Adds items to the tags file. This option can
be very slow for large tags files. Creates a tags file
with the name specified by tags_file. Causes ctags to
display a list of object names as well as the line number
and file name on which each is defined and the text of
that line. This provides a simple index, which can be
printed out as an off line readable function index. If you
specify this flag, ctags does not build a tags file, but
writes to standard output.
The following options either conform to SVID 3 or are
proprietary: [SVID3] Uses backward searching pattern
(?...?). [Tru64 UNIX] Creates tags for #define directives
that do not take arguments. #define directives that
take arguments are tagged automatically. (The "#" and
"define" may be separated by a space or tab.)
[SVID3] Uses forward searching pattern (/.../) (default).
[SVID3] Creates tags for type definitions (typedef), and
for struct, union, and enum declarations.
[SVID3] Updates the specified files in tags; that is, all
references to them are deleted and the new values are
added to the file. The tags file is sorted. This flag may
be slow, so it is usually faster to simply rebuild the
tags file. [Tru64 UNIX] Produces an index of the form
expected by vgrind on the standard output. This listing
contains the function name, file name, and page number
(assuming 64-line pages). Because the output will be
sorted according to the current collating sequence as
defined by the value of the LC_COLLATE environment variable,
it may be desirable to run the output through sort
-f. Sample use: ctags -v files | sort -f > index vgrind
-x index [SVID3] Suppresses warning diagnostics.
The ctags command makes a tags file for ex and vi editors
from the specified C, Pascal, FORTRAN, yacc, lex, and LISP
source files. A tags file gives the locations of specified
objects (in this case functions and type definitions) in a
group of files.
Each line of the tags file contains the object name, the
file in which it is defined, and an address specification
for the object definition. Functions are searched with a
pattern and type definitions are searched with a line number.
Specifiers are given in separate fields on the line,
separated by spaces or tabs. Using the tags file, ex and
vi can quickly find these object definitions.
The following pathname operands conform with both the
XCU5.0 and SVID 3 standards: Files with base names ending
with the suffix are treated as C language source code.
Files with base names ending with the suffix are treated
as C language source code. Files with base names ending
with the suffix are treated as FORTRAN-language source
code.
The following options either conform to SVID 3 or are
proprietary:
Files with base names ending with the suffix are treated
as yacc source files. [Tru64 UNIX] Files with base names
ending in are assumed to be LISP files if their first nonspace
character is ; (semicolon), ( (open parenthesis), or
[ (open bracket). Otherwise, the files ending in are
assumed to be lex files.
[SVID3] Files with base names ending in are
assumed to be lex files.
[SVID3] Other files are first examined to see if they
contain any Pascal or FORTRAN routine definitions; if not,
they are processed again for C definitions.
The tag main is treated specially in C programs. The tag
formed is created by prefixing M to the file name, removing
a trailing (if any), and removing the leading path
name components. This makes the use of ctags practical in
directories with more than one program.
[SVID3] Recognition of functions, subroutines, and procedures
for FORTRAN and Pascal does not deal with block
structure. Therefore, you cannot have two Pascal procedures
in different blocks with the same name.
The ctags command does not know about ifdefs.
ENVIRONMENT VARIABLES [Toc] [Back] The following environment variables affect the behavior of
ctags(): Provides a default value for the locale category
variables that are not set or null. If set, overrides the
values of all other locale variables. Determines the
order in which output is sorted for the -x option. Determines
the locale for the interpretation of byte sequences
as characters (single-byte or multibyte) in input parameters
and files. Determines the locale used to affect the
format and contents of diagnostic messages displayed by
the command. Determines the location of message catalogs
for the processing of LC_MESSAGES.
Default tags file. Use the -f flag to specify another
file name.
Commands: ex(1), lex(1), sort(1) vi(1), yacc(1)
Standards: standards(5)
ctags(1)
[ Back ] |