The goal of this project is to maintain a common/unified space where people interested in improving ctags can work together. This guide is primarily intended for. The ctags utility shall be provided on systems that support the the Software Development Utilities option, and either or both of the C- Language Development . Contribute to SublimeText/CTags development by creating an account on GitHub . Alternatively, the plugin can be installed manually using one of the following.

Author: Akitaxe Brasho
Country: Saudi Arabia
Language: English (Spanish)
Genre: Literature
Published (Last): 4 February 2010
Pages: 125
PDF File Size: 19.23 Mb
ePub File Size: 8.53 Mb
ISBN: 172-8-60264-245-5
Downloads: 62455
Price: Free* [*Free Regsitration Required]
Uploader: Najora

For Fortran, line numbers are used for common blocks because their corresponding source lines are generally identical, making pattern searches useless for finding all matches. Include a reference to file in the tag file. Indicates whether symbolic links if supported should be followed. Basically, this option is best used when the source code to which it is applied is not subject to change.

Example applications for this feature are generating a listing of all functions located in a source file e. Therefore, the first two characters of these tags are used a magic number to detect a tag file for purposes of determining whether a valid tag file is being overwritten rather than a source file.

The fields and separators of these lines are specified as follows:. For more commands, see the Tags topic in the Emacs info document.

Universal-ctags Hacking Guide — Universal Ctags documentation

This implementation of ctags imposes no formatting requirements on C code as do legacy implementations. Vi 1 and its derivatives e. If any of these configuration files exist, each will be expected to contain a set of default options which are read in the order listed when ctags starts, but before the CTAGS environment variable is read or any command line options are read.


If this option is specified more than once, only the last will apply. In general, ctags tries to be smart about conditional preprocessor directives. The information contained in the output includes: This will display a list of the tag definitions in another buffer.

If the sort utility of the operating system is being used, vtags will generally observe this variable also. If pattern is empty, the list of excluded patterns is cleared.

ctags(1): make tag files for source code – Linux man page

The parameter kinds is a group of one-letter flags designating kinds of tags particular to the language to either include or exclude from the output. Note that spaces separating the single-letter options from their parameters are optional. Indicates that the tag has file-limited visibility. On Unix-like hosts where mkstemp is available, the value of this variable specifies the directory in which to place temporary files.

Specifies whether to cags extra tag entries for certain kinds of information. Emacs will, by default, expect a tag file by the name “TAGS” in the current directory.

However, if this option is the first argument on the command line, it will take effect before any options are read from these sources. A few options, however, must appear before the first file name and will be noted as such.

ctags(1) – Linux man page

This option may be specified as many times as desired. In addition, the special value auto indicates that the language should be automatically selected which effectively disables this option.

Therefore, use new lines to indicate separate ctaga arguments.

Options are also accepted in this input. If you are not on forkbomb or attumake sure that the system you are using has “Exuberant Ctags” installed, rather than the original “Ctags,” by running ctags –version.


All of the information in this tutorial, and lots more advanced information, can be found there. The pattern is interpreted as a Posix basic regular expression. The file should contain one option per line. Options taking language names will accept those names in either upper or lower case.

The options described below are provided merely to allow custom tailoring to meet special needs.

Ctags Tutorial

Depending upon which editor you use and where in the code you happen to be, it is possible that the search pattern may locate ctsgs local parameter declaration in foo before it finds the actual global variable definition, since the lines and therefore their search patterns are identical.

The replacement should expand for all matching lines to a non-empty string of characters, or a warning message will be reported.

Note that the name of each source file will be recorded in the tag file exactly as it appears on the command line. To chags back to your original buffer and expand it, use C-x o to switch to it, then C-x 1 to expand. Recurse into directories encountered in the list of supplied files.

Most options may appear anywhere on the command line, affecting only those files which follow the option. Only options will be read from these files. File names read using this option are processed following file names appearing on the command line. The first command is probably the one you mmanual use most often: