Subject: ctags

From: [email-masked] (Heiko Schlittermann)
Date: Thu, 29 Aug 1996 08:25:58 +0200 (MET DST)

Hello,

to avoid duplicated effort ... is anybody out there already debianizing
the ctags package from Darren Hiebert <[email-masked]>?

If not, I'd do it.

For further information about ctags I've appended posting to c.o.l.a.

[ And yes, I know of elvis-ctags, but it's up the user to evaluate which 
  is the true better ctags ... for me Darrens Ctags did it quite good. ]

    Heiko
--
email : [email-masked] [email-masked] [email-masked]
pgp   : A1 7D F6 7B 69 73 48 35  E1 DE 21 A7 A8 9A 77 92 
finger: [email-masked]         [email-masked]

Newsgroups: comp.os.linux.announce
Subject: Exuberant Ctags-1.4 - a better ctags
Followup-To: comp.os.linux.development.apps
Date: Tue, 27 Aug 1996 15:07:26 GMT
Organization: SIRSI Corporation
Lines: 146
Approved: [email-masked] (Lars Wirzenius)
Message-ID: <[email-masked]>
NNTP-Posting-Host: localhost

-----BEGIN PGP SIGNED MESSAGE-----

Announcing: Exuberant Ctags 1.4
Author    : Darren Hiebert

Announcement
============
This is to announce an update of my new, better ctags utility. I am quite
pleased with it, and others who have used it have been enthusiastic about
the greater reliability and functionality it provides.

You can find it at:

	sunsite.unc.edu:/pub/Linux/Incoming/ctags-1.4.tar.gz (for now)
or
	sunsite.unc.edu:/pub/Linux/devel/lang/c/ctags-1.4.tar.gz (once moved)

and also at either of:

	http://fly.hiwaay.net/~darren/ctags.html  (Official Web site)
	ftp://ftp.halcyon.com/local/gvr/ctags-1.4.tar.gz

Changes since version 1.3:
==========================
 o  Added ability to recursively parse into class/struct/enum blocks to
    look for nested class/struct/enum tags and enumeration values.

 o  Added feature to allow a specified list of tokens to be ignored while
    parsing the file. This is particularly useful when prototyping macros
    appear before the parameter list.

 o  Corrected problem where declaring a pointer const or volatile resulted
    in no tag being generated.

 o  Correction to bug causing a function tag to be generated for comma
    terminated function declarations.

 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.  Supports UNIX, MSDOS, WindowsNT, Windows95, OS/2 and the Amiga. In some
    cases, you may need to play with the include files, depending upon you
    compiler. Some pre-compiled binaries may become 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.4
Entered-date:   20AUG96
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
Author:         [email-masked] (Darren Hiebert)
		[email-masked] (Darren Hiebert)
Primary-site:   sunsite.unc.edu /pub/Linux/devel/lang/c
		29kB ctags-1.4.tar.gz
Alternate-site: ftp.halcyon.com /local/gvr
		29kB ctags-1.4.tar.gz
Original-site:  http://fly.hiwaay.net/~darren
		29kB archives/ctags-1.4.tar.gz
Platforms:      UNIX, MSDOS, WindowsNT, Windows95, OS/2, Amiga
Copying-policy: Public domain
End

- ----------------------------------------------------------------------------
Darren Hiebert <[email-masked]>             SIRSI Corporation
http://fly.hiwaay.net/~darren                 Huntsville, AL  (205) 922-9820

                 "I'd give my right arm to be ambidextrous"
- ----------------------------------------------------------------------------

-- 
This article has been digitally signed by the moderator, using PGP.
Finger [email-masked] for PGP key needed for validating signature.
Send submissions for comp.os.linux.announce to: [email-masked]
PLEASE remember a short description of the software and the LOCATION.