xref: /Universal-ctags/docs/index.rst (revision 2f4bb96dbf6ba29e557aa872a018a5c097100a8a)
1.. Universal Ctags documentation master file
2
3#####################################################################
4Universal Ctags Hacking Guide
5#####################################################################
6
7:Version: Draft
8:Authors: Universal Ctags developers
9:Web Page: https://ctags.io/
10
11`Universal Ctags`_ (abbreviated as u-ctags) is a *maintained* implementation of
12``ctags``.
13``ctags`` generates an index (or tag) file of language objects found in source
14files for programming languages.
15This index makes it easy for text editors and other tools to locate the indexed
16items.
17
18`Exuberant Ctags`_ (e-ctags) maintained by Darren Hiebert, the ancestor of
19`Universal Ctags`_, improved traditional ctags with multi-language support, the
20ability for the user to define new languages searched by regular expressions
21(called optlib in Universal Ctags), and the ability to generate emacs-style TAGS
22files.
23But the activity of the project unfortunately stalled.
24
25`Universal Ctags`_ has the objective of continuing the development of `Exuberant
26Ctags`_.
27Reza Jelveh <reza.jelveh@gmail.com> initially created a personal fork of
28`Exuberant Ctags`_ on GitHub.
29As interest and participation grew, it was decided to move development to a
30dedicated project as `Universal Ctags`_.
31The goal of this project is to maintain a common/unified working space where
32people interested in making ctags better can work together.
33
34Some of the major features of `Universal Ctags`_ are:
35
36* greater number of supported languages
37* better language support
38    * new extended C/C++ language parser, etc.
39* fully extended optlib (a feature to define a new language parser from a
40  command line)
41* interactive mode (experimental)
42
43The primary documents of `Universal Ctags`_ are man pages. Users should first
44consult the :ref:`ctags(1) <ctags(1)>`, and :ref:`other man pages <man-pages>` if
45necessary.
46
47This guide, which also includes the man pages, is primarily for developers and
48provides additional information to the man pages, including experimental
49features.
50
51This is a draft document. Proofreading and pull-requests are welcome!
52
53
54.. _Exuberant Ctags: http://ctags.sourceforge.net/
55.. _Universal Ctags: https://ctags.io/
56
57
58.. toctree::
59	:maxdepth: 2
60
61	building.rst
62	man-pages.rst
63	parsers.rst
64	option-file.rst
65	output-format.rst
66	running-multi-parsers.rst
67	interactive-mode.rst
68	news.rst
69	optlib.rst
70	optscript.rst
71	extending.rst
72	testing-ctags.rst
73	testing-parser.rst
74	testing-readtags.rst
75	reporting.rst
76	contributions.rst
77	other-projects.rst
78	developers.rst
79