From: darren@fly.HiWAAY.net (Darren Hiebert) Newsgroups: comp.editors Subject: Exuberant Ctags-1.5 released Date: 9 Oct 1996 11:10:47 -0500 Message-ID: <53giq7$o7l@fly.HiWAAY.net> Announcing: Exuberant Ctags 1.5 Author : Darren Hiebert Announcement ============ This is to announce an update of my new, better ctags utility. It has been very enthusiatically received because of the greater reliability and functionality it provides. You can find it at: http://fly.hiwaay.net/~darren/ctags.html (Official Web site) ftp://sunsite.unc.edu:/pub/Linux/Incoming/ctags-1.5.tar.gz (for now) ftp://sunsite.unc.edu:/pub/Linux/devel/lang/c/ctags-1.5.tar.gz (once moved) ftp://ftp.halcyon.com/local/gvr/ctags-1.5.tar.gz Changes since version 1.4: ========================== o Added the ability to specify keywords to ignore on the command line. **Note: the syntax of the -I option has changed. o Added ability to generate tags for objects inside C++ extern blocks ('extern "C" {...}' construct). o Allowed function definitions to be recognized inside brace-enclosed ("{}") blocks, since theses are allowed inside classes and extern blocks. o Added -N option to provide opposite effect of -n. The search patterns for macro definitions are optimized to work even when portions of the definition line beyond the macro name are changed. o Fixed problem that resulted in no tag generated for files containing a function-like macro, such as 'MODULE_ID("$Id")', even when ignoring the keyword. This also corrected a problem that caused tags to be missed for initialized function pointer definitions. o Redirected error output to stdout for MSDOS version. o Various portability changes. What is ctags? ============== Ctags generates an index (or "tag") file of C language objects found in a set of file that allows these items to be quickly and easily located by a text editor or other utility. A "tag" signifies a C language object for which an index entry is available (or, alternatively, the index entry created for that object). Alternatively, ctags can generate a cross reference file which lists, in human readable form, information about the various objects found in a set of C language files. Tag index files are supported by the vi(1) editor and its derivatives (such as vim, elvis, stevie, xvi, and others) through the use of the ":ta" command, which locates the object associated with a name appearing in a source file and jumps to the file and line which defines the name. What makes this ctags desirable? ================================ 1. It can find *all* types of C language tags, including all of the following: macro definitions enumerated values (values inside enum{...}) function and method definitions enum/struct/union tags external function prototypes (optional) typedefs variable declarations 2. It is far less easily fooled by 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. 3. Can also be used to print out a list of selected objects found in source files. 4. May be compiled for UNIX, MSDOS, WindowsNT, Windows95, OS/2 and the Amiga. Some pre-compiled binaries are available on the web site. I wrote this because of my disappointment with the other ctags utilities that are available. However, it does have a couple of minor limitations (you be the judge): 1) Support for C++ is limited. 2) Supports only C; not Lisp, shell scripts, or anything else you might think of. LSM Entry: ========== Begin3 Title: Exuberant Ctags Version: 1.5 Entered-date: 08OCT96 Description: A better ctags which generates tags for all possible tag types: macro definitions, enumerated values (values inside enum{...}), function and method definitions, enum/struct/union tags, external function prototypes (optional), typedefs, and variable declarations. It is far less easily fooled by 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. Can also be used to print out a list of selected objects found in source files. Keywords: ctags, tags, exuberant, C, C++, tool, utility, index Author: darren@sirsi.com (Darren Hiebert) darren@hiwaay.net (Darren Hiebert) Primary-site: sunsite.unc.edu /pub/Linux/devel/lang/c 32kB ctags-1.5.tar.gz Alternate-site: ftp.halcyon.com /local/gvr 32kB ctags-1.5.tar.gz Original-site: http://fly.hiwaay.net/~darren 32kB archives/ctags-1.5.tar.gz Platforms: UNIX, MSDOS, WindowsNT, Windows95, OS/2, Amiga Copying-policy: Public domain End ---------------------------------------------------------------------------- Darren Hiebert SIRSI Corporation http://fly.hiwaay.net/~darren Huntsville, AL (205) 922-9820 "I'd give my right arm to be ambidextrous" ----------------------------------------------------------------------------