ctags --version (return code: 0)
ctags (GNU Emacs 24.5)
Copyright (C) 2015 Free Software Foundation, Inc.
This program is distributed under the terms in ETAGS.README
ctags --help (return code: 0)
Usage: ctags [options] [[regex-option ...] file-name] ...
These are the options accepted by ctags.
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.
-B, --backward-search
Write the search commands for the tag entries using '?', the
backward-search command instead of '/', the forward-search command.
--declarations
In C and derived languages, create tags for function declarations,
and create tags for extern variables if --globals is used.
-d, --defines
Create tag entries for C #define constants and enum constants, too.
-l LANG, --language=LANG
Force the following files to be considered as written in the
named language up to the next --language=LANG option.
--globals
Create tag entries for global variables in some languages.
--members
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.
-t, --typedefs
Generate tag entries for C and Ada typedefs.
-T, --typedefs-and-c++
Generate tag entries for C typedefs, C struct/enum/union tags,
and C++ member functions.
-u, --update
Update the tag entries for the given files, leaving tag
entries for other files in place. Currently, this is
implemented by deleting the existing entries for the given
files and then rewriting the new entries at the end of the
tags file. It is often faster to simply rebuild the entire
tag file than to use this.
-v, --vgrind
Print on the standard output an index of items intended for
human consumption, similar to the output of vgrind. The index
is sorted, and gives the page number of each item.
-x, --cxref
Like --vgrind, but in the style of cxref, rather than vgrind.
The output uses line numbers instead of page numbers, but
beyond that the differences are cosmetic; try both to see
which you like.
-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