Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

Relationship between other projects

Other tagging engines

Exuberant Ctags

The origin of Universal Ctags.

Geany

Geany is a small and lightweight IDE. Geany maintains their own tagging engine derived from ctags. We are looking for the way to merge or share the source code each other.

Repo

https://github.com/geany/geany/tree/master/ctags

Geany has created a library out of ctags

#63

Their language parsers have many improvements to various parsers. Changes known by devs worth backporting:

  • Various fixes for D parser (c.c), but currently the code diverges from ours to some extent.

They have these additional language parsers:

Software using ctags

Pygments

Pygments is a generic syntax highlighter.

It can utilize tags file as input for making hyperlinks. However, Pygments just looks at names and lines in tags file. scopes and kinds are not used. See here for details.

As far as I (Masatake YAMATO) tried, using Pygments from ctags is not so useful. There are critical gap between ctags and Pygments. ctags focuses on identifiers. Pygments focuses on keywords.

GNU global

GNU global is a source code tagging system.

I (Masatake YAMATO) don't inspect this much but GNU global uses ctags internally.

A person at GNU global project proposed an extension for the tags file format: See this ticket for details.

See also 'Source code reading' related sites.

GNU Source-highlight

GNU Source-highlight produces a document with syntax highlighting.

It can utilize tags file as input for making hyperlinks. See Generating References section for details.

I (Masatake YAMATO) have not tried the feature yet.

OpenGrok

OpenGrok is a fast and usable source code search and cross reference engine.

I (Masatake YAMATO) don't inspect this much but OpenGrok uses ctags internally.

Linux kernel

See linux/scripts/tags.sh of Linux kernel source tree. It utilizes c parser to the utmost limit.

Other interesting ctags repositories

There are several interesting repo's with ctags around. These are interesting to integrate in the future.

VIM-Japan

VIM-Japan have some interesting things, especially regarding encoding.

Anjuta

Anjuta DevStudio is a versatile Integrated Development Environment (IDE) on GNOME Desktop Environment and features a number of advanced programming facilities.

They did not fork Exuberant Ctags, but they did natively include it in Anjuta. They have made several additions to their version of it including fairly extensive Vala language support.

Tagbar

Tagbar is a Vim plugin that provides an easy way to browse the tags of the current file and get an overview of its structure.

This is a gold mine of optlibs.