Mercurial > emacs
annotate etc/etags.1 @ 26299:94438ac8953f
(w16select.o, sound.o): Don't depend on lisp.h.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 01 Nov 1999 23:26:54 +0000 |
parents | 81cd0c225dd9 |
children | 91bc9f283495 |
rev | line source |
---|---|
25853 | 1 .\" Copyright (c) 1992 Free Software Foundation |
2 .\" See section COPYING for conditions for redistribution | |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
3 .TH etags 1 "02nov1999" "GNU Tools" "GNU Tools" |
25853 | 4 .de BP |
5 .sp | |
6 .ti -.2i | |
7 \(** | |
8 .. | |
9 | |
10 .SH NAME | |
11 etags, ctags \- generate tag file for Emacs, vi | |
12 .SH SYNOPSIS | |
13 .hy 0 | |
14 .na | |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
15 .B etags [\|\-aCDGImRVh\|] [\|\-i \fIfile\fP\|] [\|\-l \fIlanguage\fP\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
16 .if n .br |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
17 .B [\|\-o \fItagfile\fP\|] [\|\-r \fIregexp\fP\|] |
25853 | 18 .br |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
19 [\|\-\-append\|] [\|\-\-c++\|] [\|\-\-no\-defines\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
20 [\|\-\-no\-globals\|] [\|\-\-include=\fIfile\fP\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
21 [\|\-\-ignore\-indentation\|] [\|\-\-language=\fIlanguage\fP\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
22 [\|\-\-members\|] [\|\-\-output=\fItagfile\fP\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
23 [\|\-\-regex=\fIregexp\fP\|] [\|\-\-no\-regex\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
24 [\|\-\-help\|] [\|\-\-version\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
25 \fIfile\fP .\|.\|. |
25853 | 26 |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
27 .B ctags [\|\-aCdgImRVh\|] [\|\-BtTuvwx\|] [\|\-l \fIlanguage\fP\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
28 .if n .br |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
29 .B [\|\-o \fItagfile\fP\|] [\|\-r \fIregexp\fP\|] |
25853 | 30 .br |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
31 [\|\-\-append\|] [\|\-\-backward\-search\|] [\|\-\-c++\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
32 [\|\-\-cxref\|] [\|\-\-defines\|] [\|\-\-forward\-search\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
33 [\|\-\-globals\|] [\|\-\-ignore\-indentation\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
34 [\|\-\-language=\fIlanguage\fP\|] [\|\-\-members\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
35 [\|\-\-output=\fItagfile\fP\|] [\|\-\-regex=\fIregexp\fP\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
36 [\|\-\-typedefs\|] [\|\-\-typedefs\-and\-c++\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
37 [\|\-\-update\|] [\|\-\-no\-warn\|] |
25853 | 38 [\|\-\-help\|] [\|\-\-version\|] |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
39 \fIfile\fP .\|.\|. |
25853 | 40 .ad b |
41 .hy 1 | |
42 .SH DESCRIPTION | |
43 The `\|\fBetags\fP\|' program is used to create a tag table file, in a format | |
44 understood by | |
45 .BR emacs ( 1 )\c | |
46 \&; the `\|\fBctags\fP\|' program is used to create a similar table in a | |
47 format understood by | |
48 .BR vi ( 1 )\c | |
49 \&. Both forms of the program understand | |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
50 the syntax of C, Objective C, C++, Java, Fortran, Pascal, Cobol, Ada, Perl, |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
51 LaTeX, Scheme, Emacs Lisp/Common Lisp, Postscript, Erlang, Python, Prolog and |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
52 most assembler\-like syntaxes. |
25853 | 53 Both forms read the files specified on the command line, and write a tag |
54 table (defaults: `\|TAGS\|' for \fBetags\fP, `\|tags\|' for | |
55 \fBctags\fP) in the current working directory. | |
56 Files specified with relative file names will be recorded in the tag | |
57 table with file names relative to the directory where the tag table | |
58 resides. Files specified with absolute file names will be recorded | |
59 with absolute file names. | |
60 The programs recognize the language used in an input file based on its | |
61 file name and contents. The --language switch can be used to force | |
62 parsing of the file names following the switch according to the given | |
63 language, overriding guesses based on filename extensions. | |
64 .SH OPTIONS | |
65 Some options make sense only for the \fBvi\fP style tag files produced | |
66 by ctags; | |
67 \fBetags\fP does not recognize them. | |
68 The programs accept unambiguous abbreviations for long option names. | |
69 .TP | |
70 .B \-a, \-\-append | |
71 Append to existing tag file. (For vi-format tag files, see also | |
72 \fB\-\-update\fP.) | |
73 .TP | |
74 .B \-B, \-\-backward\-search | |
75 Tag files written in the format expected by \fBvi\fP contain regular | |
76 expression search instructions; the \fB\-B\fP option writes them using | |
77 the delimiter `\|\fB?\fP\|', to search \fIbackwards\fP through files. | |
78 The default is to use the delimiter `\|\fB/\fP\|', to search \fIforwards\fP | |
79 through files. | |
80 Only \fBctags\fP accepts this option. | |
81 .TP | |
82 .B \-C, \-\-c++ | |
83 Treat files with `\|.c\|' and `\|.h\|' extensions as C++ code, not C | |
84 code. Files with `\|.C\|', `\|.H\|', `\|.cxx\|', `\|.hxx\|', or | |
85 `\|.cc\|' extensions are always assumed to be C++ code. | |
86 .TP | |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
87 .B \-\-declarations |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
88 In C and derived languages, create tags for function declarations, |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
89 and create tags for extern variables unless \-\-no\-globals is used. |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
90 .TP |
25853 | 91 .B \-d, \-\-defines |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
92 Create tag entries for C preprocessor constant definitions |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
93 and enum constants, too. This is the |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
94 default behavior for \fBetags\fP. |
25853 | 95 .TP |
96 .B \-D, \-\-no\-defines | |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
97 Do not create tag entries for C preprocessor constant definitions |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
98 and enum constants. |
25853 | 99 This may make the tags file much smaller if many header files are tagged. |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
100 This is the default behavior for \fBctags\fP. |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
101 .TP |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
102 .B \-g, \-\-globals |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
103 Create tag entries for global variables in C, C++, Objective C, Java, |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
104 and Perl. |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
105 This is the default behavior for \fBetags\fP. |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
106 .TP |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
107 .B \-G, \-\-no\-globals |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
108 Do not tag global variables. Typically this reduces the file size by |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
109 one fourth. This is the default behavior for \fBctags\fP. |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
110 .TP |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
111 \fB\-i\fP \fIfile\fP, \fB\-\-include=\fIfile\fP |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
112 Include a note in the tag file indicating that, when searching for a |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
113 tag, one should also consult the tags file \fIfile\fP after checking the |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
114 current file. This options is only accepted by \fBetags\fP. |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
115 .TP |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
116 .B \-I, \-\-ignore\-indentation |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
117 Don't rely on indentation as much as we normally do. Currently, this |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
118 means not to assume that a closing brace in the first column is the |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
119 final brace of a function or structure definition in C and C++. |
25853 | 120 .TP |
121 \fB\-l\fP \fIlanguage\fP, \fB\-\-language=\fIlanguage\fP | |
122 Parse the following files according to the given language. More than | |
123 one such options may be intermixed with filenames. Use \fB\-\-help\fP | |
124 to get a list of the available languages and their default filename | |
125 extensions. The `auto' language can be used to restore automatic | |
126 detection of language based on filename extension. The `none' | |
127 language may be used to disable language parsing altogether; only | |
128 regexp matching is done in this case (see the \fB\-\-regex\fP option). | |
129 .TP | |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
130 .B \-m, \-\-members |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
131 Create tag entries for variables that are members of structure-like |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
132 constructs in C++, Objective C, Java. |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
133 .TP |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
134 .B \-M, \-\-no\-members |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
135 Do not tag member variables. This is the default behavior. |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
136 .TP |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
137 .B \-\-packages\-only |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
138 Only tag packages in Ada files. |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
139 .TP |
25853 | 140 \fB\-o\fP \fItagfile\fP, \fB\-\-output=\fItagfile\fP |
141 Explicit name of file for tag table; overrides default `\|TAGS\|' or | |
142 `\|tags\|'. (But ignored with \fB\-v\fP or \fB\-x\fP.) | |
143 .TP | |
144 \fB\-r\fP \fIregexp\fP, \fB\-\-regex=\fIregexp\fP | |
145 Make tags based on regexp matching for each line of the files | |
146 following this option, in addition to the tags made with the standard | |
147 parsing based on language. May be freely intermixed with filenames | |
148 and the \fB\-R\fP option. The regexps are cumulative, i.e. each | |
149 option will add to the previous ones. The regexps are of the form: | |
150 .br | |
151 | |
152 \fB/\fP\fItagregexp\fP[\fB/\fP\fInameregexp\fP]\fB/\fP | |
153 .br | |
154 | |
155 where \fItagregexp\fP is used to match the lines that must be tagged. | |
156 It should not match useless characters. If the match is | |
157 such that more characters than needed are unavoidably matched by | |
158 \fItagregexp\fP, it may be useful to add a \fInameregexp\fP, to | |
159 narrow down the tag scope. \fBctags\fP ignores regexps without a | |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
160 \fInameregexp\fP. The syntax of regexps is the same as in emacs, |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
161 augmented with intervals of the form \\{m,n\\}, as in ed or grep. |
25853 | 162 .br |
163 Here are some examples. All the regexps are quoted to protect them | |
164 from shell interpretation. | |
165 .br | |
166 | |
167 Tag the DEFVAR macros in the emacs source files: | |
168 .br | |
169 \fI\-\-regex\='/[ \\t]*DEFVAR_[A-Z_ \\t(]+"\\([^"]+\\)"\/'\fP | |
170 .br | |
171 | |
172 Tag VHDL files (this example is a single long line, broken here for | |
173 formatting reasons): | |
174 .br | |
175 \fI\-\-language\=none\ \-\-regex='/[\ \\t]*\\(ARCHITECTURE\\|\\ | |
176 CONFIGURATION\\)\ +[^\ ]*\ +OF/'\ \-\-regex\='/[\ \\t]*\\ | |
177 \\(ATTRIBUTE\\|ENTITY\\|FUNCTION\\|PACKAGE\\(\ BODY\\)?\\ | |
178 \\|PROCEDURE\\|PROCESS\\|TYPE\\)[\ \\t]+\\([^\ \\t(]+\\)/\\3/'\fP | |
179 .br | |
180 | |
181 Tag TCL files (this last example shows the usage of a \fItagregexp\fP): | |
182 .br | |
183 \fI\-\-lang\=none \-\-regex\='/proc[\ \\t]+\\([^\ \\t]+\\)/\\1/'\fP | |
184 | |
185 .TP | |
186 .B \-R, \-\-no\-regex | |
187 Don't do any more regexp matching on the following files. May be | |
188 freely intermixed with filenames and the \fB\-\-regex\fP option. | |
189 .TP | |
190 .B \-t, \-\-typedefs | |
191 Record typedefs in C code as tags. Since this is the default behaviour | |
192 of \fBetags\fP, only \fBctags\fP accepts this option. | |
193 .TP | |
194 .B \-T, \-\-typedefs\-and\-c++ | |
195 Generate tag entries for typedefs, struct, enum, and union tags, and | |
196 C++ member functions. Since this is the default behaviour | |
197 of \fBetags\fP, only \fBctags\fP accepts this option. | |
198 .TP | |
199 .B \-u, \-\-update | |
200 Update tag entries for \fIfiles\fP specified on command line, leaving | |
201 tag entries for other files in place. Currently, this is implemented | |
202 by deleting the existing entries for the given files and then | |
203 rewriting the new entries at the end of the tags file. It is often | |
204 faster to simply rebuild the entire tag file than to use this. | |
205 Only \fBctags\fP accepts this option. | |
206 .TP | |
207 .B \-v, \-\-vgrind | |
208 Instead of generating a tag file, write index (in \fBvgrind\fP format) | |
209 to standard output. Only \fBctags\fP accepts this option. | |
210 .TP | |
211 .B \-w, \-\-no\-warn | |
212 Suppress warning messages about duplicate entries. The \fBetags\fP | |
213 program does not check for duplicate entries, so this option is not | |
214 allowed with it. | |
215 .TP | |
216 .B \-x, \-\-cxref | |
217 Instead of generating a tag file, write a cross reference (in | |
218 \fBcxref\fP format) to standard output. Only \fBctags\fP accepts this option. | |
219 .TP | |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
220 .B \-h, \-H, \-\-help |
25853 | 221 Print usage information. |
222 .TP | |
223 .B \-V, \-\-version | |
224 Print the current version of the program (same as the version of the | |
225 emacs \fBetags\fP is shipped with). | |
226 | |
227 .SH "SEE ALSO" | |
228 `\|\fBemacs\fP\|' entry in \fBinfo\fP; \fIGNU Emacs Manual\fP, Richard | |
229 Stallman. | |
230 .br | |
231 .BR cxref ( 1 ), | |
232 .BR emacs ( 1 ), | |
233 .BR vgrind ( 1 ), | |
234 .BR vi ( 1 ). | |
235 | |
236 .SH COPYING | |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
237 Copyright (c) 1999 Free Software Foundation, Inc. |
25853 | 238 .PP |
239 Permission is granted to make and distribute verbatim copies of | |
240 this manual provided the copyright notice and this permission notice | |
241 are preserved on all copies. | |
242 .PP | |
243 Permission is granted to copy and distribute modified versions of this | |
244 manual under the conditions for verbatim copying, provided that the | |
245 entire resulting derived work is distributed under the terms of a | |
246 permission notice identical to this one. | |
247 .PP | |
248 Permission is granted to copy and distribute translations of this | |
249 manual into another language, under the above conditions for modified | |
250 versions, except that this permission notice may be included in | |
251 translations approved by the Free Software Foundation instead of in | |
252 the original English. |