A maintained ctags implementation
C VHDL TeX Shell HTML VimL Other
Failed to load latest commit information.
Tmain json-output: introduce JSON_OUTPUT_VERSION pseudo tag Jul 13, 2016
Units Eiffel: support the "note" keyword Jul 17, 2016
docs docs: write about json-output format Jul 13, 2016
dsl dsl: suppress wanrings from compiler Jun 16, 2016
fnmatch vs2013 errno defined twice Feb 23, 2015
gnu_regex Fix a lot of typos Jan 8, 2016
libexec/drivers xcmd: update the protocol to deal standard error code(127) Jul 9, 2015
main readtags: don't use general.h Jul 15, 2016
makefiles New parser for pod, plain old document Jun 10, 2016
misc Units: fix typo in output message Jul 24, 2016
old-docs Introduce unified macro(COUNT_ARRAY) for counting the number of array… Oct 3, 2015
optlib New parser for pod, plain old document Jun 10, 2016
parsers Eiffel: support the "note" keyword Jul 16, 2016
read readtags: fix typo in help output May 21, 2016
win32 readtags: don't use general.h Jul 15, 2016
.ctags Add Tamin to .ctags for excluding Jun 26, 2015
.gdbinit Brought web site and win32 build directory into CVS and build process. Jan 27, 2002
.gitignore Initial import of the new cxx parser Feb 29, 2016
.indent.pro Tuning of indentation. Still only approximate. Aug 23, 2006
.travis.yml travis: add libjansson-dev to travis.yml Jul 13, 2016
COPYING Initial restoration. Nov 2, 2001
Makefile.am add --output-format=json Jul 13, 2016
README.md docs: Fix appveyor download URL Jun 16, 2016
appveyor.yml appveyor: Build VC and msys2 binaries at the same time Jun 9, 2016
autogen.sh autogen.sh: simplify the condtion to verify whther optlib2c can run o… Feb 23, 2016
configure.ac add --output-format=json Jul 13, 2016
ctags.1.in docs: write about the order of file name patterns and file extensions… Feb 10, 2016
ctags.spec Added missing license & copyright headers, mainly adding just "versio… Sep 25, 2015
mk_mingw.mak readtags: move the main driver code to readtags-cmd.c May 11, 2016
mk_mvc.mak readtags: move the main driver code to readtags-cmd.c May 10, 2016
source.mak readtags: don't use general.h Jul 15, 2016


Build Status Coverity Scan Build Status Coverage Status Build status RTD build status

universal-ctags has the objective of continuing the development from what existed in the Sourceforge area. Github exuberant-ctags repository was started by Reza Jelveh and was later moved to the universal-ctags organization.

The goal of the project is preparing and maintaining common/unified working space where people interested in making ctags better can work together.

The latest build and package

If you want to try the latest universal-ctags without building it yourself...


  • Go to https://ci.appveyor.com/project/masatake/ctags/branch/master
    • Click the compiler=msvc_msys2, ARCH=x64, ... (or compiler=msvc_msys2, ARCH=x86, ...) build.
    • View the Artifacts tab and download ctags-XXXXXX-x64.zip (or ctags-XXXXXX-x86.zip). (XXXXXX is a version number or a commit ID.)
    • Add the binary folder to your PATH.


See Homebrew Tap for Universal Ctags

How to build and install

To build with Autotools, see docs/autotools.rst for more information. (To build on GNU/Linux, Autotools is your choice.) To build on Windows, see docs/windows.rst for more information. To build on OSX, see docs/osx.rst for more information.


You may be interested in how universal-ctags is different from exuberant-ctags. The critical and attractive changes are explained in docs/*.rst. The preformatted version is available on line, http://docs.ctags.io/.

Pull-requests are welcome!