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