A maintained ctags implementation
C VHDL TeX Shell HTML Vim script Other
Latest commit a39f842 Feb 24, 2017 @masatake masatake committed on GitHub Merge pull request #1280 from masatake/rpmspec--n-option-in-package-d…

Rpmspec  n option in package directive
Failed to load latest commit information.
Tmain Merge pull request #1300 from masatake/parser-own-extras Feb 13, 2017
Units RpmSpec: support -n option in %package Feb 24, 2017
docs Merge pull request #1300 from masatake/parser-own-extras Feb 13, 2017
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 8, 2015
main Merge pull request #1307 from masatake/update-lregex-help-message Feb 20, 2017
makefiles Elm: Add support for Elm-Lang via optlib (#1260) Jan 31, 2017
man Write about --extras in ctags.1 man page Feb 1, 2017
misc units: add json feature to fetures file when comparing json output Feb 2, 2017
old-docs Remove vStringTerminate() and all its uses Sep 27, 2016
optlib Elm: Add support for Elm-Lang via optlib (#1260) Jan 31, 2017
parsers RpmSpec: support -n option in %package Feb 24, 2017
read Style: add EditorConfig file to normalise indent Aug 11, 2016
win32 Elm: Add support for Elm-Lang via optlib (#1260) Jan 31, 2017
.ctags Add Tamin to .ctags for excluding Jun 26, 2015
.dir-locals.el docs, style: add dir-locals file for setting the style to linux in GN… Oct 28, 2016
.editorconfig Style: add EditorConfig file to normalise indent Aug 11, 2016
.gdbinit Brought web site and win32 build directory into CVS and build process. Jan 27, 2002
.gitignore Git: gitignore generated rst file Nov 25, 2016
.indent.pro Tuning of indentation. Still only approximate. Aug 23, 2006
.travis.yml travis: require libyaml-dev package Sep 28, 2016
.uncrustify.cfg Style, Uncrustify: require a space before '[' Sep 20, 2016
COPYING Initial restoration. Nov 2, 2001
Makefile.am Add libyaml based Yaml (meta) parser Sep 28, 2016
README.md manual: switch the base file format of manual page to rst. Aug 31, 2016
appveyor.yml appveyor: Build VC and msys2 binaries at the same time Jun 9, 2016
autogen.sh buildsys: use type instead of which to detect perl command Oct 14, 2016
configure.ac buildsys: add comment documenting method of avoiding automagic deps Jan 25, 2017
ctags.spec Added missing license & copyright headers, mainly adding just "versio… Sep 25, 2015
mk_mingw.mak main, buildsys: Specify -std=gnu99 in building on mingw Jan 24, 2017
mk_mvc.mak readtags: move the main driver code to readtags-cmd.c May 10, 2016
source.mak Added support for robot (#1284) Jan 26, 2017


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.


Man page (ctags.1) is generated only in Autotools based building process. In addition rst2man command is needed.


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!