You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Universal Ctags (abbreviated as u-ctags) is a maintained
implementation of ctags.
ctags generates an index (or tag) file of language objects found in source
files for programming languages.
This index makes it easy for text editors and other tools to locate the indexed
items.
Exuberant Ctags (e-ctags) maintained by Darren
Hiebert, the ancestor of Universal Ctags, improved traditional ctags with
multi-language support, the ability for the user to define new languages
searched by regular expressions (called optlib in Universal Ctags), and the
ability to generate emacs-style TAGS files.
But the activity of the project unfortunately stalled.
Universal Ctags has the objective of continuing the development of Exuberant
Ctags.
Reza Jelveh reza.jelveh@gmail.com initially created a personal fork of
Exuberant Ctags on GitHub.
As interest and participation grew, it was decided to move development to a
dedicated project as Universal Ctags.
The goal of this project is to maintain a common/unified working space where
people interested in making ctags better can work together.
Some of the major features of Universal Ctags are:
more numbers of improved language support
new extended C/C++ language parser, etc.
fully extended optlib (a feature to define a new language parser from a
command line)
interactive mode (experimental)
The latest build and package
If you want to try the latest Universal Ctags without building it yourself...
Windows
Daily builds are available at the ctags-win32 project.
Go to the releases page to download zip packages.
Unix-like
Nightly builds are available at the ctags-nightly-build project.
Go to the releases page to download tarball archives.
Go to ctags-snap and
clone the ctags-snap repo. Then, follow instructions to build the
snap package of Universal Ctags. Snapcraft will automatically fetch the source
code from GitHub.
How to build and install
To build with Autotools (Autoconf and Automake) on GNU/Linux, OSX, or Windows 10 WSL,
$ git clone https://github.com/universal-ctags/ctags.git
$ cd ctags
$ ./autogen.sh
$ ./configure # use --prefix=/where/you/want to override installation directory, defaults to /usr/local
$ make
$ make install # may require extra privileges depending on where to install
To build on OSX, see
docs/osx.rst
for more information.
Manual
The primary documents of Universal Ctags are man pages.
Users should first consult the
ctags(1), and other man
pages if necessary.
Universal Ctags Hacking Guide, which also includes the
man pages, is primarily for developers and provides additional information to
the man pages, including experimental features.
If you want to reuse your .ctags written for Exuberant-ctags,
you must review kind letters and names defined with --regex-<LANG>=...
options. When updating the definitions, using --kinddef-<LANG>=... option
is appreciated.