No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Masatake YAMATO 5a2b65f800
Merge pull request #1977 from masatake/fix-readtags-dsl-or-operator
2 days ago
.ctags.d [SELF INCOMPATIBLE][INCOMPATIBLE] main: rewrite code for loading configuration files in starting up 1 year ago
.github github page: let a reporter to use makrdown notation for pre-formatting in the issue report interface 8 months ago
Tmain dsl: return passed value instead of #t in "or" operator 3 days ago
Units CXX: Add unit tests for default values in function signatures 1 week ago
dictfiles dicts: updated 1 year ago
docs docs(web): write about --excmd=combine option 3 weeks ago
dsl dsl: return the last non-false passed value instead of #t in 'and' operator 3 days ago
fnmatch vs2013 errno defined twice 3 years ago
gnu_regex Fix a lot of typos 3 years ago
main main,refactor: remove buildFqTagCache method of tagWriter 1 week ago
makefiles build-sys: fix "make dist" target 1 month ago
man main: implement --excmd=combine locator option 3 weeks ago
misc optlib2c: reflect --kinds-LANG=- option to kinds definitions directly 3 weeks ago
old-docs Remove vStringTerminate() and all its uses 2 years ago
optlib Man: add more extensions for man pages for perl module and systemtap 1 week ago
parsers more complete support for $ in C/C++ identifiers 1 week ago
read readtags,style: delete a whitespace at the end of line 8 months ago
win32 main,refactor: split field.h into field.h and field_p.h 3 weeks ago
.dir-locals.el docs, style: add dir-locals file for setting the style to linux in GNU emacs 2 years ago
.editorconfig .editorconfig: apply the entry for writing man pages (* to all rst files (.rst*) 1 year ago
.gdbinit Brought web site and win32 build directory into CVS and build process. 17 years ago
.gitignore build-sys: fix "make dist" target 1 month ago Tuning of indentation. Still only approximate. 12 years ago
.travis.yml tmain: make gdb report a backtrace when a coredump is generated 5 months ago
.uncrustify.cfg Style, Uncrustify: require a space before '[' 2 years ago
COPYING Initial restoration. 17 years ago build-sys: fix "make dist" target 1 month ago Add the description about the Snap to 1 month ago
appveyor.yml appveyor: Refactor the build environment 1 year ago build-sys: fix "make dist" target 1 month ago
circle.yml input-validate: add puppet validator for puppetManifest input 2 months ago build-sys: fix "make dist" target 1 month ago
mk_mingw.mak mk_mingw.mak: typo in comment 1 year ago
mk_mvc.mak buildsys: Fix `make distclean` 1 year ago
source.mak main,refactor: split field.h into field.h and field_p.h 3 weeks ago

Build Status Coverity Scan Build Status Coverage Status Build status RTD build status CircleCI 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…


Daily builds are available at the ctags-win32 project. Go to the releases page to download zip packages.


See Homebrew Tap for Universal Ctags


Go to ctags-docker and follow instructions to download the uctags script. Docker will automatically fetch the image from Docker Hub.


Go to ctags-snap and clone the ctags-snap repo. Then, follow instructions to build the snap package of ctags. Snapcraft will automatically fetch the source code from GitHub.

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.

rst2man is part of the python-docutils package on Ubuntu.


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,

The most significant one is that Universal-ctags doesn’t load ~/.ctags and ./.ctags at starting up time. Instead, it loads ~/.ctags.d/*.ctags and ./.ctags.d/*.ctags. See the above web site and man pages (man/ and man/ in the source tree).

Pull-requests are welcome!