Home »

Ctags

The meaning of «ctags»

Ctags is a programming tool that generates an index (or tag) file of names found in source and header files of various programming languages to aid code comprehension. Depending on the language, functions, variables, class members, macros and so on may be indexed. These tags allow definitions to be quickly and easily located by a text editor, a code search engine, or other utility. Alternatively, there is also an output mode that generates a cross reference file, listing information about various names found in a set of language files in human-readable form.

The original Ctags was introduced in BSD Unix 3.0 and was written by Ken Arnold, with Fortran support by Jim Kleckner and Pascal support by Bill Joy. It is part of the initial release of Single Unix Specification and XPG4 of 1992.

Tag index files are supported by many source code editors, including:

There are a few other implementations of the ctags program:

GNU Emacs comes with two ctags utilities, etags and ctags, which are compiled from the same source code. Etags generates a tag table file for Emacs, while the ctags command is used to create a similar table in a format understood by vi. They have different sets of command line options: etags does not recognize and ignores options which only make sense for vi style tag files produced by the ctags command.[3]

Exuberant Ctags, written and maintained by Darren Hiebert until 2009,[4] was initially distributed with Vim, but became a separate project upon the release of Vim 6. It includes support for Emacs and etags compatibility.[5][6]

Exuberant Ctags includes support for over 40 programming languages with the ability to add support for even more using regular expressions.

Universal Ctags is a fork of Exuberant Ctags, with the objective of continuing its development. A few parsers are rewritten to better support the languages.[7]

.mw-parser-output .vanchor>:target~.vanchor-text{background-color:#b1d2ff}Hasktags creates ctags compatible tag files for Haskell source files.[8] It includes support for creating Emacs etags files.[9]

jsctags is a ctags-compatible code indexing solution for JavaScript.[10] It is specialized for JavaScript and uses the CommonJS packaging system. It outperforms Exuberant Ctags for JavaScript code, finding more tags than the latter.[11]

There are multiple tag file formats. Some of them are described below. In the following, .mw-parser-output .monospaced{font-family:monospace,monospace}\x## represents the byte with hexadecimal representation ##. Every line ends with a line feed (LF, \n = \x0A).

The original ctags and the Exuberant/Universal descendants have similar file formats:[12]

This is the format used by vi and various clones. The tags file is normally named "tags".

The tags file is a list of lines, each line in the format:

Related Searches

CTAG1BCTAGE5Cragside
Cagsawa RuinsCTAGCragsmoor, New York
CTASCintas

Choice of words

c-tags_ _
ct-ags_ _
cta-gs_ _
ctag-s_ _
ctags-_ _
ctags:_ _ _ _
ctags_ _ _ _
ctags_ - _ _ _
ctags-_ _ _ _
ctags _ _ _ _ _
ctags _ - _ _ _ _
© 2015-2021, Wikiwordbook.info
Copying information without reference to the source is prohibited!
contact us mobile version