annotate etc/etags.1 @ 46205:6676ac71682b

Update mouse button info. Don't give the names of Emacs commands that the characters run. Clarify what SPC and DEL do. Clarify the description of the minibuffer. Wording change for completion. Explain Mouse-2 better.
author Richard M. Stallman <rms@gnu.org>
date Sun, 07 Jul 2002 11:31:31 +0000
parents b2b7c9519909
children a881d14145d0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
37332
446514f572dd Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents: 26339
diff changeset
1 .\" Copyright (c) 1992, 2001 Free Software Foundation
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
2 .\" See section COPYING for conditions for redistribution
41397
e2c032a0aa44 Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents: 39760
diff changeset
3 .TH etags 1 "23nov2001" "GNU Tools" "GNU Tools"
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
4 .de BP
Dave Love <fx@gnu.org>
parents:
diff changeset
5 .sp
Dave Love <fx@gnu.org>
parents:
diff changeset
6 .ti -.2i
Dave Love <fx@gnu.org>
parents:
diff changeset
7 \(**
Dave Love <fx@gnu.org>
parents:
diff changeset
8 ..
Dave Love <fx@gnu.org>
parents:
diff changeset
9
Dave Love <fx@gnu.org>
parents:
diff changeset
10 .SH NAME
Dave Love <fx@gnu.org>
parents:
diff changeset
11 etags, ctags \- generate tag file for Emacs, vi
Dave Love <fx@gnu.org>
parents:
diff changeset
12 .SH SYNOPSIS
Dave Love <fx@gnu.org>
parents:
diff changeset
13 .hy 0
Dave Love <fx@gnu.org>
parents:
diff changeset
14 .na
37784
b2509ef38ea1 Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents: 37455
diff changeset
15 \fBetags\fP [\|\-aCDGImRVh\|] [\|\-i \fIfile\fP\|] [\|\-l \fIlanguage\fP\|]
26292
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
16 .if n .br
37784
b2509ef38ea1 Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents: 37455
diff changeset
17 [\|\-o \fItagfile\fP\|] [\|\-r \fIregexp\fP\|]
45658
b359c7c3e1cb Document --parse-stdin=FILE.
Francesco Potortì <pot@gnu.org>
parents: 43874
diff changeset
18 [\|\-\-parse\-stdin=\fIfile\fP\|]
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
19 .br
37784
b2509ef38ea1 Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents: 37455
diff changeset
20 [\|\-\-append\|] [\|\-\-no\-defines\|]
26292
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
21 [\|\-\-no\-globals\|] [\|\-\-include=\fIfile\fP\|]
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
22 [\|\-\-ignore\-indentation\|] [\|\-\-language=\fIlanguage\fP\|]
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
23 [\|\-\-members\|] [\|\-\-output=\fItagfile\fP\|]
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
24 [\|\-\-regex=\fIregexp\fP\|] [\|\-\-no\-regex\|]
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
25 [\|\-\-help\|] [\|\-\-version\|]
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
26 \fIfile\fP .\|.\|.
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
27
37784
b2509ef38ea1 Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents: 37455
diff changeset
28 \fBctags\fP [\|\-aCdgImRVh\|] [\|\-BtTuvwx\|] [\|\-l \fIlanguage\fP\|]
26292
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
29 .if n .br
37784
b2509ef38ea1 Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents: 37455
diff changeset
30 [\|\-o \fItagfile\fP\|] [\|\-r \fIregexp\fP\|]
45658
b359c7c3e1cb Document --parse-stdin=FILE.
Francesco Potortì <pot@gnu.org>
parents: 43874
diff changeset
31 [\|\-\-parse\-stdin=\fIfile\fP\|]
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
32 .br
37784
b2509ef38ea1 Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents: 37455
diff changeset
33 [\|\-\-append\|] [\|\-\-backward\-search\|]
26292
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
34 [\|\-\-cxref\|] [\|\-\-defines\|] [\|\-\-forward\-search\|]
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
35 [\|\-\-globals\|] [\|\-\-ignore\-indentation\|]
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
36 [\|\-\-language=\fIlanguage\fP\|] [\|\-\-members\|]
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
37 [\|\-\-output=\fItagfile\fP\|] [\|\-\-regex=\fIregexp\fP\|]
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
38 [\|\-\-typedefs\|] [\|\-\-typedefs\-and\-c++\|]
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
39 [\|\-\-update\|] [\|\-\-no\-warn\|]
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
40 [\|\-\-help\|] [\|\-\-version\|]
26292
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
41 \fIfile\fP .\|.\|.
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
42 .ad b
Dave Love <fx@gnu.org>
parents:
diff changeset
43 .hy 1
Dave Love <fx@gnu.org>
parents:
diff changeset
44 .SH DESCRIPTION
37332
446514f572dd Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents: 26339
diff changeset
45 The \|\fBetags\fP\| program is used to create a tag table file, in a format
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
46 understood by
Dave Love <fx@gnu.org>
parents:
diff changeset
47 .BR emacs ( 1 )\c
37332
446514f572dd Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents: 26339
diff changeset
48 \&; the \|\fBctags\fP\| program is used to create a similar table in a
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
49 format understood by
Dave Love <fx@gnu.org>
parents:
diff changeset
50 .BR vi ( 1 )\c
Dave Love <fx@gnu.org>
parents:
diff changeset
51 \&. Both forms of the program understand
37784
b2509ef38ea1 Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents: 37455
diff changeset
52 the syntax of C, Objective C, C++, Java, Fortran, Ada, Cobol, Erlang,
42043
0fe5fe39786c Etags changes for Prolog and PHP.
Francesco Potortì <pot@gnu.org>
parents: 41397
diff changeset
53 LaTeX, Emacs Lisp/Common Lisp, makefiles, Pascal, Perl, PHP, Postscript,
37784
b2509ef38ea1 Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents: 37455
diff changeset
54 Python, Prolog, Scheme and
26292
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
55 most assembler\-like syntaxes.
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
56 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
57 table (defaults: \fBTAGS\fP for \fBetags\fP, \fBtags\fP for
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
58 \fBctags\fP) in the current working directory.
Dave Love <fx@gnu.org>
parents:
diff changeset
59 Files specified with relative file names will be recorded in the tag
Dave Love <fx@gnu.org>
parents:
diff changeset
60 table with file names relative to the directory where the tag table
Dave Love <fx@gnu.org>
parents:
diff changeset
61 resides. 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
62 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
63 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
64 the name of the source file.
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
65 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
66 file name and contents. The \fB\-\-language\fP switch can be used to force
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
67 parsing of the file names following the switch according to the given
Dave Love <fx@gnu.org>
parents:
diff changeset
68 language, overriding guesses based on filename extensions.
Dave Love <fx@gnu.org>
parents:
diff changeset
69 .SH OPTIONS
Dave Love <fx@gnu.org>
parents:
diff changeset
70 Some options make sense only for the \fBvi\fP style tag files produced
Dave Love <fx@gnu.org>
parents:
diff changeset
71 by ctags;
Dave Love <fx@gnu.org>
parents:
diff changeset
72 \fBetags\fP does not recognize them.
Dave Love <fx@gnu.org>
parents:
diff changeset
73 The programs accept unambiguous abbreviations for long option names.
Dave Love <fx@gnu.org>
parents:
diff changeset
74 .TP
Dave Love <fx@gnu.org>
parents:
diff changeset
75 .B \-a, \-\-append
37332
446514f572dd Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents: 26339
diff changeset
76 Append to existing tag file. (For \fBvi\fP-format tag files, see also
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
77 \fB\-\-update\fP.)
Dave Love <fx@gnu.org>
parents:
diff changeset
78 .TP
Dave Love <fx@gnu.org>
parents:
diff changeset
79 .B \-B, \-\-backward\-search
Dave Love <fx@gnu.org>
parents:
diff changeset
80 Tag files written in the format expected by \fBvi\fP contain regular
Dave Love <fx@gnu.org>
parents:
diff changeset
81 expression search instructions; the \fB\-B\fP option writes them using
Dave Love <fx@gnu.org>
parents:
diff changeset
82 the delimiter `\|\fB?\fP\|', to search \fIbackwards\fP through files.
Dave Love <fx@gnu.org>
parents:
diff changeset
83 The default is to use the delimiter `\|\fB/\fP\|', to search \fIforwards\fP
Dave Love <fx@gnu.org>
parents:
diff changeset
84 through files.
Dave Love <fx@gnu.org>
parents:
diff changeset
85 Only \fBctags\fP accepts this option.
Dave Love <fx@gnu.org>
parents:
diff changeset
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
Dave Love <fx@gnu.org>
parents:
diff changeset
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
Dave Love <fx@gnu.org>
parents:
diff changeset
95 .TP
Dave Love <fx@gnu.org>
parents:
diff changeset
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
Dave Love <fx@gnu.org>
parents:
diff changeset
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
Dave Love <fx@gnu.org>
parents:
diff changeset
120 .TP
Dave Love <fx@gnu.org>
parents:
diff changeset
121 \fB\-l\fP \fIlanguage\fP, \fB\-\-language=\fIlanguage\fP
Dave Love <fx@gnu.org>
parents:
diff changeset
122 Parse the following files according to the given language. More than
Dave Love <fx@gnu.org>
parents:
diff changeset
123 one such options may be intermixed with filenames. Use \fB\-\-help\fP
Dave Love <fx@gnu.org>
parents:
diff changeset
124 to get a list of the available languages and their default filename
Dave Love <fx@gnu.org>
parents:
diff changeset
125 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
126 detection of language based on the file name. The `none'
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
127 language may be used to disable language parsing altogether; only
Dave Love <fx@gnu.org>
parents:
diff changeset
128 regexp matching is done in this case (see the \fB\-\-regex\fP option).
Dave Love <fx@gnu.org>
parents:
diff changeset
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
45658
b359c7c3e1cb Document --parse-stdin=FILE.
Francesco Potortì <pot@gnu.org>
parents: 43874
diff changeset
140 \fB\-\-parse\-stdin=\fIfile\fP
b359c7c3e1cb Document --parse-stdin=FILE.
Francesco Potortì <pot@gnu.org>
parents: 43874
diff changeset
141 May be used (only once) in place of a file name on the command line.
45660
cfab79b5f578 Better English, I hope.
Francesco Potortì <pot@gnu.org>
parents: 45658
diff changeset
142 \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
143 as belonging to the file \fBFILE\fP.
b359c7c3e1cb Document --parse-stdin=FILE.
Francesco Potortì <pot@gnu.org>
parents: 43874
diff changeset
144 .TP
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
145 \fB\-o\fP \fItagfile\fP, \fB\-\-output=\fItagfile\fP
37332
446514f572dd Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents: 26339
diff changeset
146 Explicit name of file for tag table; overrides default \fBTAGS\fP or
446514f572dd Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents: 26339
diff changeset
147 \fBtags\fP. (But ignored with \fB\-v\fP or \fB\-x\fP.)
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
148 .TP
Dave Love <fx@gnu.org>
parents:
diff changeset
149 \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
150
d11816fe2c59 New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents: 45666
diff changeset
151 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
152 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
153 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
154 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
155 the previous ones. The regexps are of one of the forms:
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
156 .br
45802
d4c9f3bd6dfa New {language} and @regexp features.
Francesco Potortì <pot@gnu.org>
parents: 45800
diff changeset
157 [\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
158 .br
d4c9f3bd6dfa New {language} and @regexp features.
Francesco Potortì <pot@gnu.org>
parents: 45800
diff changeset
159 \fB@\fP\fIregexfile\fP
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
160 .br
Dave Love <fx@gnu.org>
parents:
diff changeset
161
45800
d11816fe2c59 New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents: 45666
diff changeset
162 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
163 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
164 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
165 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
166 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
167 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
168 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
169 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
170 CR, TAB, VT.
d11816fe2c59 New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents: 45666
diff changeset
171 .br
d11816fe2c59 New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents: 45666
diff changeset
172 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
173 \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
174 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
175 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
176 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
177 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
178 .br
45885
b2b7c9519909 Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents: 45802
diff changeset
179 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
180 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
181 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
182 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
183 .br
b2b7c9519909 Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents: 45802
diff changeset
184 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
185 should be
45802
d4c9f3bd6dfa New {language} and @regexp features.
Francesco Potortì <pot@gnu.org>
parents: 45800
diff changeset
186 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
187 otherwise. This is particularly useful when storing many predefined
d4c9f3bd6dfa New {language} and @regexp features.
Francesco Potortì <pot@gnu.org>
parents: 45800
diff changeset
188 regexps in a file.
d4c9f3bd6dfa New {language} and @regexp features.
Francesco Potortì <pot@gnu.org>
parents: 45800
diff changeset
189 .br
45885
b2b7c9519909 Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents: 45802
diff changeset
190 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
191 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
192 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
193 to be comments, and ignored.
45666
621742dde467 Document Etags regexp char escape sequences.
Francesco Potortì <pot@gnu.org>
parents: 45660
diff changeset
194
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
195 .br
Dave Love <fx@gnu.org>
parents:
diff changeset
196 Here are some examples. All the regexps are quoted to protect them
Dave Love <fx@gnu.org>
parents:
diff changeset
197 from shell interpretation.
Dave Love <fx@gnu.org>
parents:
diff changeset
198 .br
Dave Love <fx@gnu.org>
parents:
diff changeset
199
Dave Love <fx@gnu.org>
parents:
diff changeset
200 Tag the DEFVAR macros in the emacs source files:
Dave Love <fx@gnu.org>
parents:
diff changeset
201 .br
Dave Love <fx@gnu.org>
parents:
diff changeset
202 \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
203 .\"" This comment is to avoid confusion to Emacs syntax highlighting
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
204 .br
Dave Love <fx@gnu.org>
parents:
diff changeset
205
Dave Love <fx@gnu.org>
parents:
diff changeset
206 Tag VHDL files (this example is a single long line, broken here for
Dave Love <fx@gnu.org>
parents:
diff changeset
207 formatting reasons):
Dave Love <fx@gnu.org>
parents:
diff changeset
208 .br
Dave Love <fx@gnu.org>
parents:
diff changeset
209 \fI\-\-language\=none\ \-\-regex='/[\ \\t]*\\(ARCHITECTURE\\|\\
Dave Love <fx@gnu.org>
parents:
diff changeset
210 CONFIGURATION\\)\ +[^\ ]*\ +OF/'\ \-\-regex\='/[\ \\t]*\\
Dave Love <fx@gnu.org>
parents:
diff changeset
211 \\(ATTRIBUTE\\|ENTITY\\|FUNCTION\\|PACKAGE\\(\ BODY\\)?\\
Dave Love <fx@gnu.org>
parents:
diff changeset
212 \\|PROCEDURE\\|PROCESS\\|TYPE\\)[\ \\t]+\\([^\ \\t(]+\\)/\\3/'\fP
Dave Love <fx@gnu.org>
parents:
diff changeset
213 .br
Dave Love <fx@gnu.org>
parents:
diff changeset
214
Dave Love <fx@gnu.org>
parents:
diff changeset
215 Tag TCL files (this last example shows the usage of a \fItagregexp\fP):
Dave Love <fx@gnu.org>
parents:
diff changeset
216 .br
Dave Love <fx@gnu.org>
parents:
diff changeset
217 \fI\-\-lang\=none \-\-regex\='/proc[\ \\t]+\\([^\ \\t]+\\)/\\1/'\fP
Dave Love <fx@gnu.org>
parents:
diff changeset
218
26339
91bc9f283495 Added wording for the regex files and the --ignore-case-regex option.
Francesco Potortì <pot@gnu.org>
parents: 26292
diff changeset
219 .br
37784
b2509ef38ea1 Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents: 37455
diff changeset
220 A regexp can be preceded by {\fIlang\fP}, thus restricting it to match
37332
446514f572dd Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents: 26339
diff changeset
221 lines of files of the specified language. Use \fBetags --help\fP to obtain
446514f572dd Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents: 26339
diff changeset
222 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
223 \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
224 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
225 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
226 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
227 .br
91bc9f283495 Added wording for the regex files and the --ignore-case-regex option.
Francesco Potortì <pot@gnu.org>
parents: 26292
diff changeset
228 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
229 .br
37332
446514f572dd Fix copyright year, update date, and the markup.
Eli Zaretskii <eliz@gnu.org>
parents: 26339
diff changeset
230 \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
231 .br
91bc9f283495 Added wording for the regex files and the --ignore-case-regex option.
Francesco Potortì <pot@gnu.org>
parents: 26292
diff changeset
232 reads the regexes contained in the file regex.file.
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
233 .TP
Dave Love <fx@gnu.org>
parents:
diff changeset
234 .B \-R, \-\-no\-regex
Dave Love <fx@gnu.org>
parents:
diff changeset
235 Don't do any more regexp matching on the following files. May be
Dave Love <fx@gnu.org>
parents:
diff changeset
236 freely intermixed with filenames and the \fB\-\-regex\fP option.
Dave Love <fx@gnu.org>
parents:
diff changeset
237 .TP
Dave Love <fx@gnu.org>
parents:
diff changeset
238 .B \-t, \-\-typedefs
Dave Love <fx@gnu.org>
parents:
diff changeset
239 Record typedefs in C code as tags. Since this is the default behaviour
Dave Love <fx@gnu.org>
parents:
diff changeset
240 of \fBetags\fP, only \fBctags\fP accepts this option.
Dave Love <fx@gnu.org>
parents:
diff changeset
241 .TP
Dave Love <fx@gnu.org>
parents:
diff changeset
242 .B \-T, \-\-typedefs\-and\-c++
Dave Love <fx@gnu.org>
parents:
diff changeset
243 Generate tag entries for typedefs, struct, enum, and union tags, and
Dave Love <fx@gnu.org>
parents:
diff changeset
244 C++ member functions. Since this is the default behaviour
Dave Love <fx@gnu.org>
parents:
diff changeset
245 of \fBetags\fP, only \fBctags\fP accepts this option.
Dave Love <fx@gnu.org>
parents:
diff changeset
246 .TP
Dave Love <fx@gnu.org>
parents:
diff changeset
247 .B \-u, \-\-update
Dave Love <fx@gnu.org>
parents:
diff changeset
248 Update tag entries for \fIfiles\fP specified on command line, leaving
Dave Love <fx@gnu.org>
parents:
diff changeset
249 tag entries for other files in place. Currently, this is implemented
Dave Love <fx@gnu.org>
parents:
diff changeset
250 by deleting the existing entries for the given files and then
Dave Love <fx@gnu.org>
parents:
diff changeset
251 rewriting the new entries at the end of the tags file. It is often
Dave Love <fx@gnu.org>
parents:
diff changeset
252 faster to simply rebuild the entire tag file than to use this.
Dave Love <fx@gnu.org>
parents:
diff changeset
253 Only \fBctags\fP accepts this option.
Dave Love <fx@gnu.org>
parents:
diff changeset
254 .TP
Dave Love <fx@gnu.org>
parents:
diff changeset
255 .B \-v, \-\-vgrind
Dave Love <fx@gnu.org>
parents:
diff changeset
256 Instead of generating a tag file, write index (in \fBvgrind\fP format)
Dave Love <fx@gnu.org>
parents:
diff changeset
257 to standard output. Only \fBctags\fP accepts this option.
Dave Love <fx@gnu.org>
parents:
diff changeset
258 .TP
Dave Love <fx@gnu.org>
parents:
diff changeset
259 .B \-w, \-\-no\-warn
Dave Love <fx@gnu.org>
parents:
diff changeset
260 Suppress warning messages about duplicate entries. The \fBetags\fP
Dave Love <fx@gnu.org>
parents:
diff changeset
261 program does not check for duplicate entries, so this option is not
Dave Love <fx@gnu.org>
parents:
diff changeset
262 allowed with it.
Dave Love <fx@gnu.org>
parents:
diff changeset
263 .TP
Dave Love <fx@gnu.org>
parents:
diff changeset
264 .B \-x, \-\-cxref
Dave Love <fx@gnu.org>
parents:
diff changeset
265 Instead of generating a tag file, write a cross reference (in
Dave Love <fx@gnu.org>
parents:
diff changeset
266 \fBcxref\fP format) to standard output. Only \fBctags\fP accepts this option.
Dave Love <fx@gnu.org>
parents:
diff changeset
267 .TP
26292
81cd0c225dd9 Last changes for etags (I hope).
Francesco Potortì <pot@gnu.org>
parents: 25853
diff changeset
268 .B \-h, \-H, \-\-help
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
269 Print usage information.
Dave Love <fx@gnu.org>
parents:
diff changeset
270 .TP
Dave Love <fx@gnu.org>
parents:
diff changeset
271 .B \-V, \-\-version
Dave Love <fx@gnu.org>
parents:
diff changeset
272 Print the current version of the program (same as the version of the
Dave Love <fx@gnu.org>
parents:
diff changeset
273 emacs \fBetags\fP is shipped with).
Dave Love <fx@gnu.org>
parents:
diff changeset
274
Dave Love <fx@gnu.org>
parents:
diff changeset
275 .SH "SEE ALSO"
Dave Love <fx@gnu.org>
parents:
diff changeset
276 `\|\fBemacs\fP\|' entry in \fBinfo\fP; \fIGNU Emacs Manual\fP, Richard
Dave Love <fx@gnu.org>
parents:
diff changeset
277 Stallman.
Dave Love <fx@gnu.org>
parents:
diff changeset
278 .br
Dave Love <fx@gnu.org>
parents:
diff changeset
279 .BR cxref ( 1 ),
Dave Love <fx@gnu.org>
parents:
diff changeset
280 .BR emacs ( 1 ),
Dave Love <fx@gnu.org>
parents:
diff changeset
281 .BR vgrind ( 1 ),
Dave Love <fx@gnu.org>
parents:
diff changeset
282 .BR vi ( 1 ).
Dave Love <fx@gnu.org>
parents:
diff changeset
283
Dave Love <fx@gnu.org>
parents:
diff changeset
284 .SH COPYING
37784
b2509ef38ea1 Add the latest changes to etags behaviour.
Francesco Potortì <pot@gnu.org>
parents: 37455
diff changeset
285 Copyright
37363
856784dec69a Put under GFDL.
Eli Zaretskii <eliz@gnu.org>
parents: 37332
diff changeset
286 .if t \(co
856784dec69a Put under GFDL.
Eli Zaretskii <eliz@gnu.org>
parents: 37332
diff changeset
287 .if n (c)
856784dec69a Put under GFDL.
Eli Zaretskii <eliz@gnu.org>
parents: 37332
diff changeset
288 1999, 2001 Free Software Foundation, Inc.
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
289 .PP
41397
e2c032a0aa44 Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents: 39760
diff changeset
290 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
291 document provided the copyright notice and this permission notice are
e2c032a0aa44 Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents: 39760
diff changeset
292 preserved on all copies.
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
293 .PP
41397
e2c032a0aa44 Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents: 39760
diff changeset
294 Permission is granted to copy and distribute modified versions of
e2c032a0aa44 Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents: 39760
diff changeset
295 this document under the conditions for verbatim copying, provided that
e2c032a0aa44 Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents: 39760
diff changeset
296 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
297 a permission notice identical to this one.
e2c032a0aa44 Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents: 39760
diff changeset
298 .PP
e2c032a0aa44 Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents: 39760
diff changeset
299 Permission is granted to copy and distribute translations of this
e2c032a0aa44 Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents: 39760
diff changeset
300 document into another language, under the above conditions for
e2c032a0aa44 Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents: 39760
diff changeset
301 modified versions, except that this permission notice may be stated
e2c032a0aa44 Modify the distribution terms.
Eli Zaretskii <eliz@gnu.org>
parents: 39760
diff changeset
302 in a translation approved by the Free Software Foundation.