Exuberant ctags

Exuberant Ctags is a multi-platform, multi-language implementation of ctags, but that is a programmer's utility that generates an index file of function, variable, class and macro names it finds in source and header files which then allows you to find them quickly if you have a text editor or other utility that supports ctags files. The utility can also create a cross reference file of found items that is intended for human consumption rather than to used by software.

Originally written by Ken Arnold in the late 70s and called just ctags and it was an add on package for vi. As the name implies the package was originally developed for the C language only. The package was then taken by Darren Hiebert who created Exuberant Ctags expressively so that it could be extended to support just about any language out there and he packaged it with the vim editor.
 * Background

There are a few forks and language or editor specific re-implementations that aim to improve support for specific languages or editors but none of these are really of any interest to the OS/2 user, the only one that might be of any interest is Universal-ctags, but that is a fork that attempts to extend and modernise Exuberant Ctags.
 * Forks

Language support
As of version 5.8 ctags supports the following programming languages: Assembler, AWK, ASP, BETA, Bourne/Korn/Z Shell, C, C++, C Sharp (C#), COBOL, Eiffel, Erlang, Fortran, Java, Lisp, Lua, Makefile, Pascal, Perl, PHP, PL/SQL, Python, REXX, Ruby, Scheme, S-Lang, Standard ML, Tcl, Vera, Verilog, VHDL, Vim (Vimscript), and YACC.

OS/2 text editors that support ctags

 * NEdit - Open source
 * Preditor/2 - Commercial
 * vi
 * vim - Open source

Versions

 * Latest OS/2 version: ctags v5.8 (2012-06-18)
 * Watcom version: ctags v5.6 (2006-12-18)

Links

 * Exuberant Ctags homepage at SourceForge
 * Universal-ctags homepage
 * Universal-ctags at GitHub

Authors

 * Ken Arnold (Original author)
 * Darren Hiebert (Original Exuberant ctags author)
 * Mike Greene (Original OS/2 port)
 * Mentore Siesto (OS/2 port)