xref: /Universal-ctags/docs/index.rst (revision 2f4bb96dbf6ba29e557aa872a018a5c097100a8a)
1ea05728cSDoug Kearns.. Universal Ctags documentation master file
220ea5985SFrank Fesevur
3eb375513SMasatake YAMATO#####################################################################
4dccba5efSHiroo HAYASHIUniversal Ctags Hacking Guide
5eb375513SMasatake YAMATO#####################################################################
620ea5985SFrank Fesevur
720ea5985SFrank Fesevur:Version: Draft
8dccba5efSHiroo HAYASHI:Authors: Universal Ctags developers
920ea5985SFrank Fesevur:Web Page: https://ctags.io/
1020ea5985SFrank Fesevur
113246e918SHiroo HAYASHI`Universal Ctags`_ (abbreviated as u-ctags) is a *maintained* implementation of
123246e918SHiroo HAYASHI``ctags``.
133246e918SHiroo HAYASHI``ctags`` generates an index (or tag) file of language objects found in source
143246e918SHiroo HAYASHIfiles for programming languages.
153246e918SHiroo HAYASHIThis index makes it easy for text editors and other tools to locate the indexed
163246e918SHiroo HAYASHIitems.
17b8efc6b3SHiroo HAYASHI
183246e918SHiroo HAYASHI`Exuberant Ctags`_ (e-ctags) maintained by Darren Hiebert, the ancestor of
193246e918SHiroo HAYASHI`Universal Ctags`_, improved traditional ctags with multi-language support, the
203246e918SHiroo HAYASHIability for the user to define new languages searched by regular expressions
213246e918SHiroo HAYASHI(called optlib in Universal Ctags), and the ability to generate emacs-style TAGS
223246e918SHiroo HAYASHIfiles.
233246e918SHiroo HAYASHIBut the activity of the project unfortunately stalled.
2420ea5985SFrank Fesevur
253246e918SHiroo HAYASHI`Universal Ctags`_ has the objective of continuing the development of `Exuberant
263246e918SHiroo HAYASHICtags`_.
273246e918SHiroo HAYASHIReza Jelveh <reza.jelveh@gmail.com> initially created a personal fork of
283246e918SHiroo HAYASHI`Exuberant Ctags`_ on GitHub.
293246e918SHiroo HAYASHIAs interest and participation grew, it was decided to move development to a
303246e918SHiroo HAYASHIdedicated project as `Universal Ctags`_.
31b8efc6b3SHiroo HAYASHIThe goal of this project is to maintain a common/unified working space where
323246e918SHiroo HAYASHIpeople interested in making ctags better can work together.
3320ea5985SFrank Fesevur
34*2f4bb96dSHenré BothaSome of the major features of `Universal Ctags`_ are:
353246e918SHiroo HAYASHI
36*2f4bb96dSHenré Botha* greater number of supported languages
37*2f4bb96dSHenré Botha* better language support
383246e918SHiroo HAYASHI    * new extended C/C++ language parser, etc.
393246e918SHiroo HAYASHI* fully extended optlib (a feature to define a new language parser from a
403246e918SHiroo HAYASHI  command line)
413246e918SHiroo HAYASHI* interactive mode (experimental)
423246e918SHiroo HAYASHI
433246e918SHiroo HAYASHIThe primary documents of `Universal Ctags`_ are man pages. Users should first
443246e918SHiroo HAYASHIconsult the :ref:`ctags(1) <ctags(1)>`, and :ref:`other man pages <man-pages>` if
453246e918SHiroo HAYASHInecessary.
463246e918SHiroo HAYASHI
473246e918SHiroo HAYASHIThis guide, which also includes the man pages, is primarily for developers and
483246e918SHiroo HAYASHIprovides additional information to the man pages, including experimental
493246e918SHiroo HAYASHIfeatures.
50ea05728cSDoug Kearns
51ea05728cSDoug KearnsThis is a draft document. Proofreading and pull-requests are welcome!
5220ea5985SFrank Fesevur
5320ea5985SFrank Fesevur
54bb84f88aSHiroo HAYASHI.. _Exuberant Ctags: http://ctags.sourceforge.net/
553246e918SHiroo HAYASHI.. _Universal Ctags: https://ctags.io/
5620ea5985SFrank Fesevur
5720ea5985SFrank Fesevur
5820ea5985SFrank Fesevur.. toctree::
5920ea5985SFrank Fesevur	:maxdepth: 2
6020ea5985SFrank Fesevur
61bdbe550cSHiroo HAYASHI	building.rst
62bdbe550cSHiroo HAYASHI	man-pages.rst
63668e6d38SMasatake YAMATO	parsers.rst
64d66e81edSHiroo HAYASHI	option-file.rst
654afebce5SHiroo HAYASHI	output-format.rst
668fc51ccaSHiroo HAYASHI	running-multi-parsers.rst
674afebce5SHiroo HAYASHI	interactive-mode.rst
684afebce5SHiroo HAYASHI	news.rst
698fc51ccaSHiroo HAYASHI	optlib.rst
706ccf9620SMasatake YAMATO	optscript.rst
71bdbe550cSHiroo HAYASHI	extending.rst
728c31bb07SMasatake YAMATO	testing-ctags.rst
738c31bb07SMasatake YAMATO	testing-parser.rst
74dbfe9819SMasatake YAMATO	testing-readtags.rst
754afebce5SHiroo HAYASHI	reporting.rst
764afebce5SHiroo HAYASHI	contributions.rst
77cacd2675SHiroo HAYASHI	other-projects.rst
7820ea5985SFrank Fesevur	developers.rst
79