From: Cynthia A. E. Livingston Date: Thu, 25 Apr 1991 06:49:24 +0000 (-0800) Subject: mdoc version three X-Git-Tag: BSD-4_4-Snapshot-Development~11402 X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/commitdiff_plain/a7edb52cef230c9508ab5b1cacdde68a7fe5839e mdoc version three SCCS-vsn: usr.bin/ctags/ctags.1 6.8 --- diff --git a/usr/src/usr.bin/ctags/ctags.1 b/usr/src/usr.bin/ctags/ctags.1 index 88c919cd4d..a658705970 100644 --- a/usr/src/usr.bin/ctags/ctags.1 +++ b/usr/src/usr.bin/ctags/ctags.1 @@ -1,7 +1,7 @@ .\" Copyright (c) 1987, 1990 The Regents of the University of California. .\" All rights reserved. .\" -.\" %sccs.include.redist.man% +.\" %sccs.include.redist.roff% .\" .\" @(#)ctags.1 6.8 (Berkeley) %G% .\" @@ -21,7 +21,9 @@ makes a tags file for .Xr ex 1 from the specified C, -Pascal, Fortran, YACC, lex, and lisp sources. A tags file gives the +Pascal, Fortran, +.Tn YACC , +lex, and lisp sources. A tags file gives the locations of specified objects in a group of files. Each line of the tags file contains the object name, the file in which it is defined, and a search pattern for the object definition, separated by white-space. @@ -34,54 +36,32 @@ definitions. Depending on the options provided to .Nm ctags , objects will consist of subroutines, typedefs, defines, structs, enums and unions. -.Pp -.Tw Ds -.Tp Fl x -.Nm ctags -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 -.Tp Fl v -An index of the form expected by -.Xr vgrind 1 -is produced on the standard output. This listing -contains the object 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 -.Xr sort 1 . -Sample use: -.Pp -.Ds I -ctags \-v files \&| sort \-f > index -vgrind \-x index -.De -.Tp Fl f -Places the tag descriptions in a file called -.Ar tagsfile . -The default behaviour is to place them in a file -.Ar tags . -.Tp Fl F -use forward searching patterns (/.../) (the default). -.Tp Fl B -use backward searching patterns (?...?). -.Tp Fl a +.Bl -tag -width Ds +.It Fl B +use backward searching patterns +.Pq Li ?...? . +.It Fl F +use forward searching patterns +.Pq Li /.../ +(the default). +.It Fl a append to .Ar tags file. -.Tp Fl d +.It Fl d create tags for .Li #defines that don't take arguments; .Li #defines that take arguments are tagged automatically. -.Tp Fl t +.It Fl f +Places the tag descriptions in a file called +.Ar tagsfile . +The default behaviour is to place them in a file +.Ar tags . +.It Fl t create tags for typedefs, structs, unions, and enums. -.Tp Fl w -suppress warning diagnostics. -.Tp Fl u +.It Fl u update the specified files in the .Ar tags file, that is, all @@ -90,7 +70,29 @@ file. (Beware: this option is implemented in a way which is rather slow; it is usually faster to simply rebuild the .Ar tags file.) -.Tp +.It Fl v +An index of the form expected by +.Xr vgrind 1 +is produced on the standard output. This listing +contains the object 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 +.Xr sort 1 . +Sample use: +.Bd -literal -offset indent +ctags \-v files \&| sort \-f > index +vgrind \-x index +.Ed +.It Fl w +suppress warning diagnostics. +.It Fl x +.Nm ctags +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. +.El .Pp Files whose names end in .Nm \&.c @@ -100,7 +102,9 @@ are assumed to be C source files and are searched for C style routine and macro definitions. Files whose names end in .Nm \&.y -are assumed to be YACC source files. +are assumed to be +.Tn YACC +source files. Files whose names end in .Nm \&.l are assumed to be lisp files if their @@ -132,11 +136,10 @@ of the second section of the yacc file, and is the start of the second section of the lex file. .Sh FILES -.Dw tags -.Di L -.Dp Pa tags +.Bl -tag -width tags -compact +.It Pa tags default output tags file -.Dp +.El .Sh DIAGNOSTICS .Nm Ctags exits with a value of 1 if an error occurred, where @@ -144,42 +147,41 @@ duplicate objects are not considered errors, 0 otherwise. .Sh SEE ALSO .Xr ex 1 , .Xr vi 1 -.Sh HISTORY -.Nm -appeared in 3 BSD. -.Sh AUTHOR -Ken Arnold; FORTRAN added by Jim Kleckner; Bill Joy added Pascal and -.Fl x , -replacing -.Ar cxref ; -C typedefs added by Ed Pelegri-Llopart. .Sh BUGS Recognition of .Nm functions , .Nm subroutines and .Nm procedures -for FORTRAN and Pascal is done is a very simpleminded way. No attempt +for +.Tn FORTRAN +and Pascal is done is a very simpleminded way. No attempt is made to deal with block structure; if you have two Pascal procedures in different blocks with the same name you lose. .Nm Ctags doesn't understand about Pascal types. .Pp -The method of deciding whether to look for C, Pascal or FORTRAN +The method of deciding whether to look for C, Pascal or +.Tn FORTRAN functions is a hack. .Pp .Nm Ctags relies on the input being well formed, and any syntactical errors will completely confuse it. It also finds some legal syntax confusing; for example, as it doesn't understand -.Sf Li #ifdef 's, +.Li #ifdef Ns 's , (incidentally, that's a feature, not a bug) any code with unbalanced braces inside -.Sf Li #ifdef 's +.Li #ifdef Ns 's will cause it to become somewhat disoriented. In a similar fashion, multiple line changes within a definition will cause it to enter the last line of the object, rather than the first, as the searching pattern. The last line of multiple line -.Sf Li typedef 's +.Li typedef Ns 's will similarly be noted. +.Sh HISTORY +The +.Nm +command appeared in +.Bx 3.0 .