etags --version (return code: 0)
etags (GNU Emacs 24.5)
Copyright (C) 2015 Free Software Foundation, Inc.
This program is distributed under the terms in ETAGS.README
etags --help (return code: 0)
Usage: etags [options] [[regex-option ...] file-name] ...
These are the options accepted by etags.
You may use unambiguous abbreviations for the long option names.
A - as file name means read names from stdin (one per line).
Absolute names are stored in the output file as they are.
Relative ones are stored relative to the output file's directory.
-a, --append
Append tag entries to existing tags file.
--packages-only
For Ada files, only generate tags for packages.
--declarations
In C and derived languages, create tags for function declarations,
and create tags for extern variables unless --no-globals is used.
-D, --no-defines
Don't create tag entries for C #define constants and enum constants.
This makes the tags file smaller.
-i FILE, --include=FILE
Include a note in tag file indicating that, when searching for
a tag, one should also consult the tags file FILE after
checking the current file.
-l LANG, --language=LANG
Force the following files to be considered as written in the
named language up to the next --language=LANG option.
--no-globals
Do not create tag entries for global variables in some
languages. This makes the tags file smaller.
--no-members
Do not create tag entries for members of structures
in some languages.
-r REGEXP, --regex=REGEXP or --regex=@regexfile
Make a tag for each line matching a regular expression pattern
in the following files. {LANGUAGE}REGEXP uses REGEXP for LANGUAGE
files only. REGEXFILE is a file containing one REGEXP per line.
REGEXP takes the form /TAGREGEXP/TAGNAME/MODS, where TAGNAME/ is
optional. The TAGREGEXP pattern is anchored (as if preceded by ^).
If TAGNAME/ is present, the tags created are named.
For example Tcl named tags can be created with:
--regex="/proc[ \t]+\([^ \t]+\)/\1/.".
MODS are optional one-letter modifiers: `i' means to ignore case,
`m' means to allow multi-line matches, `s' implies `m' and
causes dot to match any character, including newline.
-R, --no-regex
Don't create tags from regexps for the following files.
-I, --ignore-indentation
In C and C++ do not assume that a closing brace in the first
column is the final brace of a function or structure definition.
-o FILE, --output=FILE
Write the tags to FILE.
--parse-stdin=NAME
Read from standard input and record tags as belonging to file NAME.
-V, --version
Print the version of the program.
-h, --help
Print this help message.
Followed by one or more `--language' options prints detailed
help about tag generation for the specified languages.
These are the currently supported languages, along with the
default file names and dot suffixes:
ada .ads .adb .ada
asm .a .asm .def .inc .ins .s .sa .S .src
c .c .h
c++ .C .c++ .cc .cpp .cxx .H .h++ .hh .hpp .hxx .M .pdb
c* .cs .hs
cobol .COB .cob
erlang .erl .hrl
forth .fth .tok
fortran .F .f .f90 .for
html .htm .html .shtml
java .java
lisp .cl .clisp .el .l .lisp .LSP .lsp .ml
lua .lua .LUA
makefile Makefile makefile GNUMakefile Makefile.in Makefile.am
objc .lm .m
pascal .p .pas
perl .pl .pm
php .php .php3 .php4
postscript .ps .psw
proc .pc
prolog .prolog
python .py
scheme .oak .sch .scheme .SCM .scm .SM .sm .ss .t
tex .bib .clo .cls .ltx .sty .TeX .tex
texinfo .texi .texinfo .txi
yacc .y .y++ .ym .yxx .yy
auto
none
where `auto' means use default language for files based on file
name suffix, and `none' means only do regexp processing on files.
If no language is specified and no matching suffix is found,
the first line of the file is read for a sharp-bang (#!) sequence
followed by the name of an interpreter. If no such sequence is found,
Fortran is tried first; if no tags are found, C is tried next.
When parsing any C file, a "class" or "template" keyword
switches to C++.
Compressed files are supported using gzip, bzip2, and xz.
For detailed help on a given language use, for example,
etags --help --lang=ada.
Report bugs to bug-gnu-emacs@gnu.org