summaryrefslogtreecommitdiff
path: root/doc/man
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2015-05-25 18:02:21 +0300
committerEli Zaretskii <eliz@gnu.org>2015-05-25 18:02:21 +0300
commit9c66c5a0cabc748ce50d844a0f1af8d1fc121436 (patch)
treeee646dc097c061206e8da00fd976485e25bc7038 /doc/man
parent9b995d55c566737ef7aa3432826e1b7b656ff1c7 (diff)
downloademacs-9c66c5a0cabc748ce50d844a0f1af8d1fc121436.tar.gz
Fix tagging of class members in C-like OO languages
* lib-src/etags.c (longopts): Add new option --class-qualify and its shorthand -Q. (print_help): Add help text for --class-qualify. (main): Add handling of -Q. (consider_token, C_entries) <omethodparm>: Append argument types to Objective C methods only if --class-qualify was specified. Qualify C++, Objective C, and Java class members with their class names only if --class-qualify was specified. (C_entries): If --class-qualify was not specified, remove the namespace and class qualifiers from tag names of C++ methods. This allows to use etags.el as xref back-end without the tag-symbol-match-p method, which greatly increases the number of potentially false positives. (Bug#20629) * doc/man/etags.1: Update to document the new --class-qualify option. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/CTAGS.good: Update due to changes in etags.c.
Diffstat (limited to 'doc/man')
-rw-r--r--doc/man/etags.114
1 files changed, 12 insertions, 2 deletions
diff --git a/doc/man/etags.1 b/doc/man/etags.1
index 245d9b48198..fab8901427d 100644
--- a/doc/man/etags.1
+++ b/doc/man/etags.1
@@ -11,7 +11,7 @@ etags, ctags \- generate tag file for Emacs, vi
.SH SYNOPSIS
.hy 0
.na
-\fBetags\fP [\|\-aCDGIRVh\|] [\|\-i \fIfile\fP\|] [\|\-l \fIlanguage\fP\|]
+\fBetags\fP [\|\-aCDGIQRVh\|] [\|\-i \fIfile\fP\|] [\|\-l \fIlanguage\fP\|]
.if n .br
[\|\-o \fItagfile\fP\|] [\|\-r \fIregexp\fP\|]
[\|\-\-parse\-stdin=\fIfile\fP\|]
@@ -20,11 +20,12 @@ etags, ctags \- generate tag file for Emacs, vi
[\|\-\-no\-globals\|] [\|\-\-include=\fIfile\fP\|]
[\|\-\-ignore\-indentation\|] [\|\-\-language=\fIlanguage\fP\|]
[\|\-\-members\|] [\|\-\-no\-members\|] [\|\-\-output=\fItagfile\fP\|]
+[\|\-\-class\-qualify\|]
[\|\-\-regex=\fIregexp\fP\|] [\|\-\-no\-regex\|]
[\|\-\-help\|] [\|\-\-version\|]
\fIfile\fP .\|.\|.
-\fBctags\fP [\|\-aCdgIRVh\|] [\|\-BtTuvwx\|] [\|\-l \fIlanguage\fP\|]
+\fBctags\fP [\|\-aCdgIQRVh\|] [\|\-BtTuvwx\|] [\|\-l \fIlanguage\fP\|]
.if n .br
[\|\-o \fItagfile\fP\|] [\|\-r \fIregexp\fP\|]
[\|\-\-parse\-stdin=\fIfile\fP\|]
@@ -33,6 +34,7 @@ etags, ctags \- generate tag file for Emacs, vi
[\|\-\-cxref\|] [\|\-\-no\-defines\|]
[\|\-\-globals\|] [\|\-\-no\-globals\|] [\|\-\-ignore\-indentation\|]
[\|\-\-language=\fIlanguage\fP\|] [\|\-\-members\|] [\|\-\-no\-members\|]
+[\|\-\-class\-qualify\|]
[\|\-\-output=\fItagfile\fP\|] [\|\-\-regex=\fIregexp\fP\|]
[\|\-\-update\|]
[\|\-\-help\|] [\|\-\-version\|]
@@ -137,6 +139,14 @@ May be used (only once) in place of a file name on the command line.
\fBetags\fP will read from standard input and mark the produced tags
as belonging to the file \fBFILE\fP.
.TP
+\fB\-\-class\-qualify\fP
+Qualify tag names with their class name in C++, ObjC, and Java.
+This produces tag names of the form \fIclass\fP\fB::\fP\fImember\fP
+for C++,
+\fIclass\fP\fB(\fP\fIcategory\fP\fB)\fP for Objective C, and \fIclass\fP\fB.\fP\fImember\fP for Java.
+For Objective C, this also produces class methods qualified with
+their arguments, as in \fIfoo\fP\fB:\fP\fIbar\fP\fB:\fP\fIbaz\fP\fB:\fP\fImore\fP.
+.TP
\fB\-o\fP \fItagfile\fP, \fB\-\-output=\fItagfile\fP
Explicit name of file for tag table; for \fBetags\fP only, a file name
of \- means standard output; overrides default \fBTAGS\fP or \fBtags\fP.