Content-type: text/html Man page of ctags

ctags

Section: User Commands (1)
Index Return to Main Contents
 

NAME

ctags - Makes a tags file for source file objects.  

SYNOPSIS

ctags [-aBdFtuvw] [-f tags_file] pathname...

ctags -x pathname...


 

STANDARDS

Interfaces documented on this reference page conform to industry standards as follows:

ctags:  SVID 3, XPG4, XPG4-UNIX

Refer to the standards(5) reference page for more information about industry standards and associated tags.
 

OPTIONS

The following options conform to both the X/Open 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 are additional DIGITAL and SVID 3 options: [SVID 3]  Uses backward searching pattern (?...?). [Compaq]  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.) [SVID 3]  Uses forward searching pattern (/.../) (default). [SVID 3]  Creates tags for type definitions (typedef), and for struct, union, and enum declarations. [SVID 3]  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. [Compaq]  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 [SVID 3]  Suppresses warning diagnostics.
 

DESCRIPTION

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 are supported in compliance with X/Open and SVID 3 standards: Files with base names ending with the .c suffix are treated as C language source code. Files with base names ending with the .h suffix are treated as C language source code. Files with base names ending with the .f suffix are treated as FORTRAN-language source code.

The following are additional SVID 3 and DIGITAL pathname operands: Files with base names ending with the .y suffix are treated as yacc source files. [Compaq]  Files with base names ending in .l are assumed to be LISP files if their first nonspace character is ; (semicolon), ( (open parenthesis), or [ (open bracket). Otherwise, the files ending in .l are assumed to be lex files.

[SVID 3]  Files with base names ending in .l are assumed to be lex files.

[SVID 3]  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 .c (if any), and removing the leading path name components. This makes the use of ctags practical in directories with more than one program.
 

RESTRICTIONS

[SVID 3]  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

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.
 

FILES

Default tags file. Use the -f flag to specify another file name.
 

SEE ALSO

Commands:  ex(1), lex(1), sort(1) vi(1), yacc(1)

Standards:  standards(5)


 

Index

NAME
SYNOPSIS
STANDARDS
OPTIONS
DESCRIPTION
RESTRICTIONS
ENVIRONMENT VARIABLES
FILES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 02:43:04 GMT, October 02, 2010