BSD 4_3 release
[unix-history] / usr / man / man1 / ctags.1
index b14c490..ad3ef0c 100644 (file)
-.TH CTAGS 1
+.\" Copyright (c) 1980 Regents of the University of California.
+.\" All rights reserved.  The Berkeley software License Agreement
+.\" specifies the terms and conditions for redistribution.
+.\"
+.\"    @(#)ctags.1     6.2 (Berkeley) 5/30/85
+.\"
+.TH CTAGS 1 "May 30, 1985"
 .UC 4
 .SH NAME
 ctags \- create a tags file
 .SH SYNOPSIS
 .B ctags
 [ 
 .UC 4
 .SH NAME
 ctags \- create a tags file
 .SH SYNOPSIS
 .B ctags
 [ 
-.B \-w
-] [
-.B \-x
+.B \-BFatuwvx
 ] [
 ] [
-.B \-u
+.B \-f 
+.I tagsfile
 ]
 name ...
 .SH DESCRIPTION
 .I Ctags
 makes a tags file for
 .IR ex (1)
 ]
 name ...
 .SH DESCRIPTION
 .I Ctags
 makes a tags file for
 .IR ex (1)
-from the specified C, Pascal and Fortran sources.
+from the specified C, Pascal, Fortran, YACC, lex, and lisp sources.
 A tags file gives the locations of specified objects (in this case
 A tags file gives the locations of specified objects (in this case
-functions) in a group of files.
-Each line of the tags file contains the function name,
-the file in which it is defined, and a scanning pattern used to find
-the function definition.  These are given in separate fields on the line,
-separated by blanks or tabs.
+functions and typedefs) in a group of files.  Each line of the tags
+file contains the object name, the file in which it is defined, and
+an address specification for the object definition. Functions are
+searched with a pattern, typedefs with a line number. Specifiers are
+given in separate fields on the line, separated by blanks or tabs.
 Using the
 .I tags
 file,
 .I ex
 Using the
 .I tags
 file,
 .I ex
-can quickly find these function definitions.
+can quickly find these objects definitions.
 .PP
 If the
 .B \-x
 flag is given, 
 .I ctags
 .PP
 If the
 .B \-x
 flag is given, 
 .I ctags
-produces a list of function names, the line number and file
+produces a list of object names, the line number and file
 name on which each is defined, as well as the text of that line
 and prints this on the standard output.  This is a simple index
 which can be printed out as an off-line readable function index.
 .PP
 name on which each is defined, as well as the text of that line
 and prints this on the standard output.  This is a simple index
 which can be printed out as an off-line readable function index.
 .PP
-Files whose name ends in 
+If the
+.B \-v
+flag is given,
+an index of the form expected by
+.IR vgrind (1)
+is produced on the standard output.
+This listing contains the function name,
+file name, and page number
+(assuming 64 line pages).
+Since the output will be sorted into lexicographic order,
+it may be desired to run the output through
+.BR "sort \-f" .
+Sample use:
+.nf
+       ctags \-v files | sort \-f > index
+       vgrind \-x index
+.fi
+.PP
+Normally 
+.I ctags
+places the tag descriptions in a file called
+.IR tags ;
+this may be overridden with the
+.B \-f
+option.
+.PP
+Files whose names end in 
 .B \.c
 or
 .B \.h
 are assumed to be C source files and are searched for C routine and
 macro definitions.
 .B \.c
 or
 .B \.h
 are assumed to be C source files and are searched for C routine and
 macro definitions.
-Others are first examined to see if they contain any Pascal or
+Files whose names end in
+.B \.y
+are assumed to be YACC source files.
+Files whose names end in
+.B \.l
+are assumed to be either lisp files
+if their first non-blank character is `;', `(', or `[',
+or lex files otherwise.
+Other files are first examined to see if they contain any Pascal or
 Fortran routine definitions; if not, they are processed again
 looking for C definitions.
 .PP
 Fortran routine definitions; if not, they are processed again
 looking for C definitions.
 .PP
-Options other than
-.B \-x
-are:
+Other options are:
+.TP 5
+.B \-F
+use forward searching patterns (/.../) (default).
+.TP 5
+.B \-B
+use backward searching patterns (?...?).
+.TP 5
+.B \-a
+append to tags file.
+.TP 5
+.B \-t
+create tags for typedefs.
 .TP 5
 .B \-w
 suppressing warning diagnostics.
 .TP 5
 .B \-w
 suppressing warning diagnostics.
@@ -85,7 +134,8 @@ Ken Arnold; FORTRAN added by Jim Kleckner; Bill Joy
 added Pascal and
 .B \-x,
 replacing
 added Pascal and
 .B \-x,
 replacing
-.I cxref.
+.I cxref;
+C typedefs added by Ed Pelegri-Llopart.
 .SH BUGS
 Recognition of \fBfunctions\fR, \fBsubroutines\fR and \fBprocedures\fR
 for FORTRAN and Pascal is done is a very simpleminded way.
 .SH BUGS
 Recognition of \fBfunctions\fR, \fBsubroutines\fR and \fBprocedures\fR
 for FORTRAN and Pascal is done is a very simpleminded way.
@@ -94,3 +144,10 @@ Pascal procedures in different blocks with the same name you lose.
 .PP
 The method of deciding whether to look for C or Pascal and FORTRAN
 functions is a hack.
 .PP
 The method of deciding whether to look for C or Pascal and FORTRAN
 functions is a hack.
+.PP
+Does not know about #ifdefs.
+.PP
+Should know about Pascal types.
+Relies on the input being well formed to detect typedefs.
+Use of -tx shows only the last line of typedefs.
+