Mercurial > emacs
annotate etc/etags.1 @ 79593:46d26befd986
(Getting Started): Change @ref to @pxref.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 22 Dec 2007 17:05:42 +0000 |
parents | 4b9b0398c0f1 |
children | a125d08ee5b8 |
rev | line source |
---|---|
65088
f05a048483cc
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
57090
diff
changeset
|
1 .\" Copyright (C) 1992, 2001, 2002, 2003, 2004, |
75341 | 2 .\" 2005, 2006, 2007 Free Software Foundation, Inc. |
25853 | 3 .\" See section COPYING for conditions for redistribution |
41397
e2c032a0aa44
Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents:
39760
diff
changeset
|
4 .TH etags 1 "23nov2001" "GNU Tools" "GNU Tools" |
25853 | 5 .de BP |
6 .sp | |
7 .ti -.2i | |
8 \(** | |
9 .. | |
10 | |
11 .SH NAME | |
12 etags, ctags \- generate tag file for Emacs, vi | |
13 .SH SYNOPSIS | |
14 .hy 0 | |
15 .na | |
71549
8e8d6278f6b7
-m and -M options do not exist.
Francesco Potortì <pot@gnu.org>
parents:
68640
diff
changeset
|
16 \fBetags\fP [\|\-aCDGIRVh\|] [\|\-i \fIfile\fP\|] [\|\-l \fIlanguage\fP\|] |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
17 .if n .br |
37784
b2509ef38ea1
Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents:
37455
diff
changeset
|
18 [\|\-o \fItagfile\fP\|] [\|\-r \fIregexp\fP\|] |
45658
b359c7c3e1cb
Document --parse-stdin=FILE.
Francesco Potortì <pot@gnu.org>
parents:
43874
diff
changeset
|
19 [\|\-\-parse\-stdin=\fIfile\fP\|] |
25853 | 20 .br |
37784
b2509ef38ea1
Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents:
37455
diff
changeset
|
21 [\|\-\-append\|] [\|\-\-no\-defines\|] |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
22 [\|\-\-no\-globals\|] [\|\-\-include=\fIfile\fP\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
23 [\|\-\-ignore\-indentation\|] [\|\-\-language=\fIlanguage\fP\|] |
79469
4b9b0398c0f1
Revert this change, not installed in Emacs 22:
Francesco Potortì <pot@gnu.org>
parents:
77549
diff
changeset
|
24 [\|\-\-members\|] [\|\-\-output=\fItagfile\fP\|] |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
25 [\|\-\-regex=\fIregexp\fP\|] [\|\-\-no\-regex\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
26 [\|\-\-help\|] [\|\-\-version\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
27 \fIfile\fP .\|.\|. |
25853 | 28 |
71549
8e8d6278f6b7
-m and -M options do not exist.
Francesco Potortì <pot@gnu.org>
parents:
68640
diff
changeset
|
29 \fBctags\fP [\|\-aCdgIRVh\|] [\|\-BtTuvwx\|] [\|\-l \fIlanguage\fP\|] |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
30 .if n .br |
37784
b2509ef38ea1
Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents:
37455
diff
changeset
|
31 [\|\-o \fItagfile\fP\|] [\|\-r \fIregexp\fP\|] |
45658
b359c7c3e1cb
Document --parse-stdin=FILE.
Francesco Potortì <pot@gnu.org>
parents:
43874
diff
changeset
|
32 [\|\-\-parse\-stdin=\fIfile\fP\|] |
25853 | 33 .br |
37784
b2509ef38ea1
Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents:
37455
diff
changeset
|
34 [\|\-\-append\|] [\|\-\-backward\-search\|] |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
35 [\|\-\-cxref\|] [\|\-\-defines\|] [\|\-\-forward\-search\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
36 [\|\-\-globals\|] [\|\-\-ignore\-indentation\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
37 [\|\-\-language=\fIlanguage\fP\|] [\|\-\-members\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
38 [\|\-\-output=\fItagfile\fP\|] [\|\-\-regex=\fIregexp\fP\|] |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
39 [\|\-\-typedefs\|] [\|\-\-typedefs\-and\-c++\|] |
75036
58fa0c36a31d
Remove references to the --no-warn option, which is now undocumented.
Francesco Potortì <pot@gnu.org>
parents:
74297
diff
changeset
|
40 [\|\-\-update\|] |
25853 | 41 [\|\-\-help\|] [\|\-\-version\|] |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
42 \fIfile\fP .\|.\|. |
25853 | 43 .ad b |
44 .hy 1 | |
45 .SH DESCRIPTION | |
37332
446514f572dd
Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents:
26339
diff
changeset
|
46 The \|\fBetags\fP\| program is used to create a tag table file, in a format |
25853 | 47 understood by |
48 .BR emacs ( 1 )\c | |
37332
446514f572dd
Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents:
26339
diff
changeset
|
49 \&; the \|\fBctags\fP\| program is used to create a similar table in a |
25853 | 50 format understood by |
51 .BR vi ( 1 )\c | |
52 \&. Both forms of the program understand | |
47085 | 53 the syntax of C, Objective C, C++, Java, Fortran, Ada, Cobol, Erlang, HTML, |
57086
a10fd092f06f
Added support for the Lua script language.
Francesco Potortì <pot@gnu.org>
parents:
57012
diff
changeset
|
54 LaTeX, Emacs Lisp/Common Lisp, Lua, makefile, Pascal, Perl, PHP, Postscript, |
37784
b2509ef38ea1
Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents:
37455
diff
changeset
|
55 Python, Prolog, Scheme and |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
56 most assembler\-like syntaxes. |
25853 | 57 Both forms read the files specified on the command line, and write a tag |
37332
446514f572dd
Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents:
26339
diff
changeset
|
58 table (defaults: \fBTAGS\fP for \fBetags\fP, \fBtags\fP for |
25853 | 59 \fBctags\fP) in the current working directory. |
60 Files specified with relative file names will be recorded in the tag | |
61 table with file names relative to the directory where the tag table | |
79469
4b9b0398c0f1
Revert this change, not installed in Emacs 22:
Francesco Potortì <pot@gnu.org>
parents:
77549
diff
changeset
|
62 resides. If the tag table is in /dev or is the standard output, |
4b9b0398c0f1
Revert this change, not installed in Emacs 22:
Francesco Potortì <pot@gnu.org>
parents:
77549
diff
changeset
|
63 however, the file names are made relative to the working directory. |
4b9b0398c0f1
Revert this change, not installed in Emacs 22:
Francesco Potortì <pot@gnu.org>
parents:
77549
diff
changeset
|
64 Files specified with absolute file names will be recorded |
43874
96f84561b0ab
Use Cweb as an example, not Yacc.
Francesco Potortì <pot@gnu.org>
parents:
43724
diff
changeset
|
65 with absolute file names. Files generated from a source file\-\-like |
96f84561b0ab
Use Cweb as an example, not Yacc.
Francesco Potortì <pot@gnu.org>
parents:
43724
diff
changeset
|
66 a C file generated from a source Cweb file\-\-will be recorded with |
96f84561b0ab
Use Cweb as an example, not Yacc.
Francesco Potortì <pot@gnu.org>
parents:
43724
diff
changeset
|
67 the name of the source file. |
25853 | 68 The programs recognize the language used in an input file based on its |
37332
446514f572dd
Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents:
26339
diff
changeset
|
69 file name and contents. The \fB\-\-language\fP switch can be used to force |
25853 | 70 parsing of the file names following the switch according to the given |
71 language, overriding guesses based on filename extensions. | |
72 .SH OPTIONS | |
73 Some options make sense only for the \fBvi\fP style tag files produced | |
74 by ctags; | |
75 \fBetags\fP does not recognize them. | |
76 The programs accept unambiguous abbreviations for long option names. | |
77 .TP | |
78 .B \-a, \-\-append | |
37332
446514f572dd
Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents:
26339
diff
changeset
|
79 Append to existing tag file. (For \fBvi\fP-format tag files, see also |
25853 | 80 \fB\-\-update\fP.) |
81 .TP | |
82 .B \-B, \-\-backward\-search | |
83 Tag files written in the format expected by \fBvi\fP contain regular | |
84 expression search instructions; the \fB\-B\fP option writes them using | |
85 the delimiter `\|\fB?\fP\|', to search \fIbackwards\fP through files. | |
86 The default is to use the delimiter `\|\fB/\fP\|', to search \fIforwards\fP | |
87 through files. | |
88 Only \fBctags\fP accepts this option. | |
89 .TP | |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
90 .B \-\-declarations |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
91 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
|
92 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
|
93 .TP |
25853 | 94 .B \-d, \-\-defines |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
95 Create tag entries for C preprocessor constant definitions |
65710
53915676421c
Tiny changes and clarifications by
Francesco Potortì <pot@gnu.org>
parents:
65088
diff
changeset
|
96 and enum constants, too. Since this is the default behavior of |
53915676421c
Tiny changes and clarifications by
Francesco Potortì <pot@gnu.org>
parents:
65088
diff
changeset
|
97 \fBetags\fP, only \fBctags\fP accepts this option. |
25853 | 98 .TP |
99 .B \-D, \-\-no\-defines | |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
100 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
|
101 and enum constants. |
25853 | 102 This may make the tags file much smaller if many header files are tagged. |
65710
53915676421c
Tiny changes and clarifications by
Francesco Potortì <pot@gnu.org>
parents:
65088
diff
changeset
|
103 Since this is the default behavior of \fBctags\fP, only \fBetags\fP |
53915676421c
Tiny changes and clarifications by
Francesco Potortì <pot@gnu.org>
parents:
65088
diff
changeset
|
104 accepts this option. |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
105 .TP |
65710
53915676421c
Tiny changes and clarifications by
Francesco Potortì <pot@gnu.org>
parents:
65088
diff
changeset
|
106 .B \-\-globals |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
107 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
|
108 and Perl. |
65710
53915676421c
Tiny changes and clarifications by
Francesco Potortì <pot@gnu.org>
parents:
65088
diff
changeset
|
109 Since this is the default behavior of \fBetags\fP, only \fBctags\fP |
53915676421c
Tiny changes and clarifications by
Francesco Potortì <pot@gnu.org>
parents:
65088
diff
changeset
|
110 accepts this option. |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
111 .TP |
65710
53915676421c
Tiny changes and clarifications by
Francesco Potortì <pot@gnu.org>
parents:
65088
diff
changeset
|
112 .B \-\-no\-globals |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
113 Do not tag global variables. Typically this reduces the file size by |
65710
53915676421c
Tiny changes and clarifications by
Francesco Potortì <pot@gnu.org>
parents:
65088
diff
changeset
|
114 one fourth. Since this is the default behavior of \fBctags\fP, only |
53915676421c
Tiny changes and clarifications by
Francesco Potortì <pot@gnu.org>
parents:
65088
diff
changeset
|
115 \fBetags\fP accepts this option. |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
116 .TP |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
117 \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
|
118 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
|
119 tag, one should also consult the tags file \fIfile\fP after checking the |
65710
53915676421c
Tiny changes and clarifications by
Francesco Potortì <pot@gnu.org>
parents:
65088
diff
changeset
|
120 current file. Only \fBetags\fP accepts this option. |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
121 .TP |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
122 .B \-I, \-\-ignore\-indentation |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
123 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
|
124 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
|
125 final brace of a function or structure definition in C and C++. |
25853 | 126 .TP |
127 \fB\-l\fP \fIlanguage\fP, \fB\-\-language=\fIlanguage\fP | |
128 Parse the following files according to the given language. More than | |
129 one such options may be intermixed with filenames. Use \fB\-\-help\fP | |
130 to get a list of the available languages and their default filename | |
131 extensions. The `auto' language can be used to restore automatic | |
37784
b2509ef38ea1
Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents:
37455
diff
changeset
|
132 detection of language based on the file name. The `none' |
25853 | 133 language may be used to disable language parsing altogether; only |
134 regexp matching is done in this case (see the \fB\-\-regex\fP option). | |
135 .TP | |
71549
8e8d6278f6b7
-m and -M options do not exist.
Francesco Potortì <pot@gnu.org>
parents:
68640
diff
changeset
|
136 .B \-\-members |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
137 Create tag entries for variables that are members of structure-like |
79469
4b9b0398c0f1
Revert this change, not installed in Emacs 22:
Francesco Potortì <pot@gnu.org>
parents:
77549
diff
changeset
|
138 constructs in C++, Objective C, Java. |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
139 .TP |
71549
8e8d6278f6b7
-m and -M options do not exist.
Francesco Potortì <pot@gnu.org>
parents:
68640
diff
changeset
|
140 .B \-\-no\-members |
79469
4b9b0398c0f1
Revert this change, not installed in Emacs 22:
Francesco Potortì <pot@gnu.org>
parents:
77549
diff
changeset
|
141 Do not tag member variables. This is the default behavior. |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
142 .TP |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
143 .B \-\-packages\-only |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
144 Only tag packages in Ada files. |
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
145 .TP |
45658
b359c7c3e1cb
Document --parse-stdin=FILE.
Francesco Potortì <pot@gnu.org>
parents:
43874
diff
changeset
|
146 \fB\-\-parse\-stdin=\fIfile\fP |
b359c7c3e1cb
Document --parse-stdin=FILE.
Francesco Potortì <pot@gnu.org>
parents:
43874
diff
changeset
|
147 May be used (only once) in place of a file name on the command line. |
45660 | 148 \fBetags\fP will read from standard input and mark the produced tags |
45658
b359c7c3e1cb
Document --parse-stdin=FILE.
Francesco Potortì <pot@gnu.org>
parents:
43874
diff
changeset
|
149 as belonging to the file \fBFILE\fP. |
b359c7c3e1cb
Document --parse-stdin=FILE.
Francesco Potortì <pot@gnu.org>
parents:
43874
diff
changeset
|
150 .TP |
25853 | 151 \fB\-o\fP \fItagfile\fP, \fB\-\-output=\fItagfile\fP |
79469
4b9b0398c0f1
Revert this change, not installed in Emacs 22:
Francesco Potortì <pot@gnu.org>
parents:
77549
diff
changeset
|
152 Explicit name of file for tag table; for \fBetags\fP only, a file name |
4b9b0398c0f1
Revert this change, not installed in Emacs 22:
Francesco Potortì <pot@gnu.org>
parents:
77549
diff
changeset
|
153 of \- means standard output; overrides default \fBTAGS\fP or \fBtags\fP. |
4b9b0398c0f1
Revert this change, not installed in Emacs 22:
Francesco Potortì <pot@gnu.org>
parents:
77549
diff
changeset
|
154 (But ignored with \fB\-v\fP or \fB\-x\fP.) |
25853 | 155 .TP |
156 \fB\-r\fP \fIregexp\fP, \fB\-\-regex=\fIregexp\fP | |
45800
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
157 |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
158 Make tags based on regexp matching for the files following this option, |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
159 in addition to the tags made with the standard parsing based on |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
160 language. May be freely intermixed with filenames and the \fB\-R\fP |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
161 option. The regexps are cumulative, i.e. each such option will add to |
45802
d4c9f3bd6dfa
New {language} and @regexp features.
Francesco Potortì <pot@gnu.org>
parents:
45800
diff
changeset
|
162 the previous ones. The regexps are of one of the forms: |
25853 | 163 .br |
45802
d4c9f3bd6dfa
New {language} and @regexp features.
Francesco Potortì <pot@gnu.org>
parents:
45800
diff
changeset
|
164 [\fB{\fP\fIlanguage\fP\fB}\fP]\fB/\fP\fItagregexp/\fP[\fInameregexp\fP\fB/\fP]\fImodifiers\fP |
d4c9f3bd6dfa
New {language} and @regexp features.
Francesco Potortì <pot@gnu.org>
parents:
45800
diff
changeset
|
165 .br |
d4c9f3bd6dfa
New {language} and @regexp features.
Francesco Potortì <pot@gnu.org>
parents:
45800
diff
changeset
|
166 \fB@\fP\fIregexfile\fP |
25853 | 167 .br |
168 | |
45800
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
169 where \fItagregexp\fP is used to match the tag. It should not match |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
170 useless characters. If the match is such that more characters than |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
171 needed are unavoidably matched by \fItagregexp\fP, it may be useful to |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
172 add a \fInameregexp\fP, to narrow down the tag scope. \fBctags\fP |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
173 ignores regexps without a \fInameregexp\fP. The syntax of regexps is |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
174 the same as in emacs. The following character escape sequences are |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
175 supported: \\a, \\b, \\d, \\e, \\f, \\n, \\r, \\t, \\v, which |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
176 respectively stand for the ASCII characters BEL, BS, DEL, ESC, FF, NL, |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
177 CR, TAB, VT. |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
178 .br |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
179 The \fImodifiers\fP are a sequence of 0 or more characters among |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
180 \fIi\fP, which means to ignore case when matching; \fIm\fP, which means |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
181 that the \fItagregexp\fP will be matched against the whole file contents |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
182 at once, rather than line by line, and the matching sequence can match |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
183 multiple lines; and \fIs\fP, which implies \fIm\fP and means that the |
d11816fe2c59
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45666
diff
changeset
|
184 dot character in \fItagregexp\fP matches the newline char as well. |
45802
d4c9f3bd6dfa
New {language} and @regexp features.
Francesco Potortì <pot@gnu.org>
parents:
45800
diff
changeset
|
185 .br |
45885
b2b7c9519909
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45802
diff
changeset
|
186 The separator, which is \fB/\fP in the examples, can be any character |
b2b7c9519909
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45802
diff
changeset
|
187 different from space, tab, braces and \fB@\fP. If the separator |
b2b7c9519909
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45802
diff
changeset
|
188 character is needed inside the regular expression, it must be quoted |
b2b7c9519909
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45802
diff
changeset
|
189 by preceding it with \fB\\\fP. |
b2b7c9519909
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45802
diff
changeset
|
190 .br |
b2b7c9519909
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45802
diff
changeset
|
191 The optional \fB{\fP\fIlanguage\fP\fB}\fP prefix means that the tag |
b2b7c9519909
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45802
diff
changeset
|
192 should be |
45802
d4c9f3bd6dfa
New {language} and @regexp features.
Francesco Potortì <pot@gnu.org>
parents:
45800
diff
changeset
|
193 created only for files of language \fIlanguage\fP, and ignored |
d4c9f3bd6dfa
New {language} and @regexp features.
Francesco Potortì <pot@gnu.org>
parents:
45800
diff
changeset
|
194 otherwise. This is particularly useful when storing many predefined |
d4c9f3bd6dfa
New {language} and @regexp features.
Francesco Potortì <pot@gnu.org>
parents:
45800
diff
changeset
|
195 regexps in a file. |
d4c9f3bd6dfa
New {language} and @regexp features.
Francesco Potortì <pot@gnu.org>
parents:
45800
diff
changeset
|
196 .br |
45885
b2b7c9519909
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45802
diff
changeset
|
197 In its second form, \fIregexfile\fP is the name of a file that contains |
b2b7c9519909
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45802
diff
changeset
|
198 a number of arguments to the \fI\-\-regex\=\fP option, |
b2b7c9519909
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45802
diff
changeset
|
199 one per line. Lines beginning with a space or tab are assumed |
45802
d4c9f3bd6dfa
New {language} and @regexp features.
Francesco Potortì <pot@gnu.org>
parents:
45800
diff
changeset
|
200 to be comments, and ignored. |
45666
621742dde467
Document Etags regexp char escape sequences.
Francesco Potortì <pot@gnu.org>
parents:
45660
diff
changeset
|
201 |
25853 | 202 .br |
203 Here are some examples. All the regexps are quoted to protect them | |
204 from shell interpretation. | |
205 .br | |
206 | |
207 Tag the DEFVAR macros in the emacs source files: | |
208 .br | |
74297
bb13d8a89b11
Added / to the end of DEVAR regex evamle.
Francesco Potortì <pot@gnu.org>
parents:
71549
diff
changeset
|
209 \fI\-\-regex\='/[ \\t]*DEFVAR_[A-Z_ \\t(]+"\\([^"]+\\)"/'\fP |
42043
0fe5fe39786c
Etags changes for Prolog and PHP.
Francesco Potortì <pot@gnu.org>
parents:
41397
diff
changeset
|
210 .\"" This comment is to avoid confusion to Emacs syntax highlighting |
25853 | 211 .br |
212 | |
213 Tag VHDL files (this example is a single long line, broken here for | |
214 formatting reasons): | |
215 .br | |
216 \fI\-\-language\=none\ \-\-regex='/[\ \\t]*\\(ARCHITECTURE\\|\\ | |
217 CONFIGURATION\\)\ +[^\ ]*\ +OF/'\ \-\-regex\='/[\ \\t]*\\ | |
218 \\(ATTRIBUTE\\|ENTITY\\|FUNCTION\\|PACKAGE\\(\ BODY\\)?\\ | |
219 \\|PROCEDURE\\|PROCESS\\|TYPE\\)[\ \\t]+\\([^\ \\t(]+\\)/\\3/'\fP | |
220 .br | |
221 | |
222 Tag TCL files (this last example shows the usage of a \fItagregexp\fP): | |
223 .br | |
224 \fI\-\-lang\=none \-\-regex\='/proc[\ \\t]+\\([^\ \\t]+\\)/\\1/'\fP | |
225 | |
26339
91bc9f283495
Added wording for the regex files and the --ignore-case-regex option.
Francesco Potortì <pot@gnu.org>
parents:
26292
diff
changeset
|
226 .br |
37784
b2509ef38ea1
Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents:
37455
diff
changeset
|
227 A regexp can be preceded by {\fIlang\fP}, thus restricting it to match |
77549
af6eb2072c06
Yavor Doganov <yavor at gnu.org> (tiny change)
Glenn Morris <rgm@gnu.org>
parents:
75681
diff
changeset
|
228 lines of files of the specified language. Use \fBetags \-\-help\fP to obtain |
37332
446514f572dd
Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents:
26339
diff
changeset
|
229 a list of the recognised languages. This feature is particularly useful inside |
446514f572dd
Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents:
26339
diff
changeset
|
230 \fBregex files\fP. A regex file contains one regex per line. Empty lines, |
26339
91bc9f283495
Added wording for the regex files and the --ignore-case-regex option.
Francesco Potortì <pot@gnu.org>
parents:
26292
diff
changeset
|
231 and those lines beginning with space or tab are ignored. Lines beginning |
91bc9f283495
Added wording for the regex files and the --ignore-case-regex option.
Francesco Potortì <pot@gnu.org>
parents:
26292
diff
changeset
|
232 with @ are references to regex files whose name follows the @ sign. Other |
37332
446514f572dd
Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents:
26339
diff
changeset
|
233 lines are considered regular expressions like those following \fB\-\-regex\fP. |
26339
91bc9f283495
Added wording for the regex files and the --ignore-case-regex option.
Francesco Potortì <pot@gnu.org>
parents:
26292
diff
changeset
|
234 .br |
91bc9f283495
Added wording for the regex files and the --ignore-case-regex option.
Francesco Potortì <pot@gnu.org>
parents:
26292
diff
changeset
|
235 For example, the command |
91bc9f283495
Added wording for the regex files and the --ignore-case-regex option.
Francesco Potortì <pot@gnu.org>
parents:
26292
diff
changeset
|
236 .br |
37332
446514f572dd
Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents:
26339
diff
changeset
|
237 \fIetags \-\-regex=@regex.file *.c\fP |
26339
91bc9f283495
Added wording for the regex files and the --ignore-case-regex option.
Francesco Potortì <pot@gnu.org>
parents:
26292
diff
changeset
|
238 .br |
91bc9f283495
Added wording for the regex files and the --ignore-case-regex option.
Francesco Potortì <pot@gnu.org>
parents:
26292
diff
changeset
|
239 reads the regexes contained in the file regex.file. |
25853 | 240 .TP |
241 .B \-R, \-\-no\-regex | |
242 Don't do any more regexp matching on the following files. May be | |
243 freely intermixed with filenames and the \fB\-\-regex\fP option. | |
244 .TP | |
245 .B \-t, \-\-typedefs | |
47106
7654c5eef71e
Use American spelling of "behavior".
Richard M. Stallman <rms@gnu.org>
parents:
47085
diff
changeset
|
246 Record typedefs in C code as tags. Since this is the default behavior |
25853 | 247 of \fBetags\fP, only \fBctags\fP accepts this option. |
248 .TP | |
249 .B \-T, \-\-typedefs\-and\-c++ | |
250 Generate tag entries for typedefs, struct, enum, and union tags, and | |
47106
7654c5eef71e
Use American spelling of "behavior".
Richard M. Stallman <rms@gnu.org>
parents:
47085
diff
changeset
|
251 C++ member functions. Since this is the default behavior |
25853 | 252 of \fBetags\fP, only \fBctags\fP accepts this option. |
253 .TP | |
254 .B \-u, \-\-update | |
255 Update tag entries for \fIfiles\fP specified on command line, leaving | |
256 tag entries for other files in place. Currently, this is implemented | |
257 by deleting the existing entries for the given files and then | |
258 rewriting the new entries at the end of the tags file. It is often | |
259 faster to simply rebuild the entire tag file than to use this. | |
260 Only \fBctags\fP accepts this option. | |
261 .TP | |
262 .B \-v, \-\-vgrind | |
263 Instead of generating a tag file, write index (in \fBvgrind\fP format) | |
264 to standard output. Only \fBctags\fP accepts this option. | |
265 .TP | |
266 .B \-x, \-\-cxref | |
267 Instead of generating a tag file, write a cross reference (in | |
268 \fBcxref\fP format) to standard output. Only \fBctags\fP accepts this option. | |
269 .TP | |
26292
81cd0c225dd9
Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents:
25853
diff
changeset
|
270 .B \-h, \-H, \-\-help |
57012
28b649226666
Added reference to the new `etags --help --lang=LANG' option.
Francesco Potortì <pot@gnu.org>
parents:
52401
diff
changeset
|
271 Print usage information. Followed by one or more \-\-language=LANG |
28b649226666
Added reference to the new `etags --help --lang=LANG' option.
Francesco Potortì <pot@gnu.org>
parents:
52401
diff
changeset
|
272 prints detailed information about how tags are created for LANG. |
25853 | 273 .TP |
274 .B \-V, \-\-version | |
275 Print the current version of the program (same as the version of the | |
276 emacs \fBetags\fP is shipped with). | |
277 | |
278 .SH "SEE ALSO" | |
279 `\|\fBemacs\fP\|' entry in \fBinfo\fP; \fIGNU Emacs Manual\fP, Richard | |
280 Stallman. | |
281 .br | |
282 .BR cxref ( 1 ), | |
283 .BR emacs ( 1 ), | |
284 .BR vgrind ( 1 ), | |
285 .BR vi ( 1 ). | |
286 | |
287 .SH COPYING | |
37784
b2509ef38ea1
Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents:
37455
diff
changeset
|
288 Copyright |
37363 | 289 .if t \(co |
290 .if n (c) | |
75341 | 291 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. |
25853 | 292 .PP |
41397
e2c032a0aa44
Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents:
39760
diff
changeset
|
293 Permission is granted to make and distribute verbatim copies of this |
e2c032a0aa44
Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents:
39760
diff
changeset
|
294 document provided the copyright notice and this permission notice are |
e2c032a0aa44
Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents:
39760
diff
changeset
|
295 preserved on all copies. |
25853 | 296 .PP |
41397
e2c032a0aa44
Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents:
39760
diff
changeset
|
297 Permission is granted to copy and distribute modified versions of |
e2c032a0aa44
Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents:
39760
diff
changeset
|
298 this document under the conditions for verbatim copying, provided that |
e2c032a0aa44
Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents:
39760
diff
changeset
|
299 the entire resulting derived work is distributed under the terms of |
e2c032a0aa44
Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents:
39760
diff
changeset
|
300 a permission notice identical to this one. |
e2c032a0aa44
Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents:
39760
diff
changeset
|
301 .PP |
e2c032a0aa44
Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents:
39760
diff
changeset
|
302 Permission is granted to copy and distribute translations of this |
e2c032a0aa44
Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents:
39760
diff
changeset
|
303 document into another language, under the above conditions for |
e2c032a0aa44
Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents:
39760
diff
changeset
|
304 modified versions, except that this permission notice may be stated |
e2c032a0aa44
Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents:
39760
diff
changeset
|
305 in a translation approved by the Free Software Foundation. |
52401 | 306 |
307 .\" arch-tag: 9534977f-af78-42f0-991d-1df6b6c05573 |