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: Daisida Mezirg
Country: India
Language: English (Spanish)
Genre: Business
Published (Last): 23 August 2014
Pages: 241
PDF File Size: 6.33 Mb
ePub File Size: 1.72 Mb
ISBN: 303-5-49809-574-8
Downloads: 3040
Price: Free* [*Free Regsitration Required]
Uploader: Kigajinn

The default list is “. If a language was identified, the file is opened and then the appropriate language parser is called to operate on the currently open file.

ctags(1) – Linux man page

These steps assume you want to use Ctags on the Linux kernel, but should generalize to other projects. As ctags considers each file name in turn, it tries to determine the language of the file by applying the following three tests in order: The reason for this is that failing to pursue only one branch can result in ambiguous syntax, as in the following example:.

Use the name specified by tagfile for the tag file default is “tags”, or “TAGS” when running in etags mode. 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.

Because ctags is neither a preprocessor nor a compiler, use of preprocessor macros can fool ctags into either missing tags or improperly generating inappropriate tags. Note, however, that this could potentially more than double the size of the tag file. For C, line numbers are used for macro definition tags.


If the sort utility of the operating system is being used, it will generally observe this variable also. However, if this option is the first argument on the command line, it will take effect before any options are read from these sources. When present, this indicates a limited implementation abstract cags. Tag index files are supported by numerous editors, which allow mmanual user to locate the object associated with a name appearing in a source file and jump manuao the file and line which defines the name.

Ctags Tutorial

For example, to specify that only files with extensions of. This has four advantages:. Use forward searching patterns e. Selecting this option type causes the following options to be ignored: Each kind listed is enabled unless followed by “[off]”. This feature is useful when preprocessor macros are used in such a way that they cause syntactic confusion due to their presence.

This tag file allows these items to be quickly and easily located by a text editor or other utility. Finally, the last command is used to jump back up in the tag stack to the location you initiated the previous tag search from.

Indicates a preference as to whether code within an ” if 0″ branch of a preprocessor conditional should be examined for non-macro tags macro tags are always included.

Exuberant Ctags

These key value pairs appear in the general form ” key: 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.


Thus, it becomes simple to replace the current list with a new one, or to add or remove languages from the current list. In the above example, the macro “ARGDECL4” would be mistakenly interpreted to be the name of the function instead of the correct name of “foo”. Ctags is a tool that makes it easy to ctays large source code projects. Defines a new user-defined language, nameto be parsed with regular expressions.

This may allow easier location of a specific tags when multiple occurrences of a tag name occur in the tag file. Recurse into directories encountered in the list of supplied files. Only options will be read from this variable. In pattern mode, duplicate entries are dropped because the search patterns they generate are identical, making the duplicate entries useless. A “tag” signifies a language object for which an index entry is available or, alternatively, the index entry created for that object.

Note that the name of each source file will be recorded in the tag file exactly as it maunal on the command line. Mxnual, you may wish to use cscope to find function and structure definitions, or just use the third step of the Vim instructions below.

Use only search patterns for all tags, rather than the line numbers usually used for macro definitions. To clear the mapping for a particular language thus inhibiting automatic generation ,anual tags for that languagespecify an empty extension list e.