Exuberant Ctags

An open source multilanguage reimplementation of the Unix ctags utility
Download

Exuberant Ctags Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Darren Hiebert
  • Publisher web site:
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 280 KB

Exuberant Ctags Tags


Exuberant Ctags Description

An open source multilanguage reimplementation of the Unix ctags utility Exuberant Ctags is a multilanguage reimplementation of the much-underusedctags(1) program and is intended to be the mother of all ctags programs. Exuberant Ctags generates indexes of source code definitions which are used by a number of editors and tools. The motivation which drove the development of Exuberant Ctags was the need for a ctags program which supported generation of tags for all possible C language constructs (which no other ctags offers), and because most were easily fooled by a number of preprocessor contructs.Ctags generates an index of source code definitions which is used by numerous editors and utilities to instantly locate the definitions.Ctags generates an index (or tag) file of language objects found in source files that allows these items to be quickly and easily located by a text editor or other utility. A tag signifies a language object for which an index entry is available (or, alternatively, the index entry created for that object).Tag generation is supported for the following languages: Assembler, C, C++, COBOL, Eiffel, Fortran, AWK, ASP, Lua, Make, Pascal, Perl, PHP, Python, BETA, Bourne/Korn/Zsh Shell, Java, Lisp, REXX, Ruby, S-Lang, Scheme, Tcl, Vim, and YACC. Here are some key features of "Exuberant Ctags": · Used in at least 50 countries in all 7 continents (including Antarctica!) · Supports 34 programming languages · Freely available under the terms of the GNU General Public License · Included in major Linux distributions · It is capable of generating tags for all types of C/C++ language tags, including all of the following: class names, macro definitions, enumeration names, enumerators, function definitions, function prototypes/declarations, class, interface, struct, and union data members, structure names, typedefs, union names, variables (definitions and external declarations) · It is far less easily fooled by C code containing #if preprocessor conditional constructs, using a conditional path selection algorithm to resolve complicated choices, and a fall-back algorithm when this one fails. · Supports user-defined languages, using regular expressions. · Supports output of Emacs-style TAGS files. · Can also be used to print out a list of selected objects found in source files. · Compiles on Macintosh, UNIX, MSDOS, Windows 95/98/NT, OS/2, QNX, Amiga, QDOS, VMS, and Cray. What's New in This Release: · Added support for DIM AS . · Added support for arbitrary nesting depth . · Added support for verbatim string literals . · Added support for .ctags as well as ctags.cnf on Windows . · Added support for non-extern, non-static functions returning wchar_t, contributed by Aaron Peromsik . · Added support for numerous revision control systems including Bazaar and Mercurial . · Added support for enums . · Added support for multiple-level namespace declarations . · Added .svn to list of directories ignored during recursion (--recurse). · Added support for BlitzBasic, PureBasic and FreeBasic . · Added support for interfaces and static/public/protected/private functions . · Added support for 'package' keyword . · Added support for multi-line subroutine, package, and constant definitions . · Added support for optional subroutine declarations . · Added support for formats . · Added support for new convert keyword . · Added optional tags for forward variable declarations (e.g. 'struct C;') . · Changed parsing of option input file (-L) to strip trailing white space. · Ignore comments mixed into definitions and declarations . · Fixed detecting labels with whitespace after label name · Fixed parsing of generic classes/interfaces . · Fixed misidentification of fully qualified function calls as labels . · Fixed parsing of inner classes . · Fixed line continuation . · Fixed parsing of annotations . · Fixed block-comment parsing . · Fixed typo in man page . · Fixed missing chunk of text in man page and over-use of hyphens in UTF-8 locales . · Fixed parsing of ` as a method name . · Fixed parsing of keywords in string literals . · Fixed potential segmentation violation . · Fixed parsing of destructors with whitespace after the '~' . · Fixed default access of unions to be public . · Fixed various memory leaks, mostly contributed by Dmitry Antipov. · Fixed parsing of `define . · Fixed crashes involving '/' . · Fixed compilation problem on MinGW . · Fixed generation of HTML-formatted man page . · Fixed recognition of Python scripts having '#!/usr/bin/python' as first line . · Fixed parsing of Fortran comment-to-end-of-line with no newline before EOF . · Fixed parsing of


Exuberant Ctags Related Software