Depending on the language, functions, variables, class members, macros and so on may be indexed.
These tags allow definitions to be quickly and easily located by a text editor, a code search engine, or other utility.
Alternatively, there is also an output mode that generates a cross reference file, listing information about various names found in a set of language files in human-readable form.
The original Ctags was introduced in BSD Unix 2.0[1][2] and was written by Ken Arnold, with Fortran support by Jim Kleckner and Pascal support by Bill Joy.
They have different sets of command line options: etags does not recognize and ignores options which only make sense for vi style tag files produced by the ctags command.
It outperforms Exuberant Ctags for JavaScript code, finding more tags than the latter.
Sections are plain-text with several non-printable ascii characters used for special purposes.