diff options
author | Eli Zaretskii <eliz@gnu.org> | 2015-05-25 18:02:21 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2015-05-25 18:02:21 +0300 |
commit | 9c66c5a0cabc748ce50d844a0f1af8d1fc121436 (patch) | |
tree | ee646dc097c061206e8da00fd976485e25bc7038 /doc/man | |
parent | 9b995d55c566737ef7aa3432826e1b7b656ff1c7 (diff) | |
download | emacs-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.1 | 14 |
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. |