GNU GLOBAL source code tagging system
GNU GLOBAL is a software which makes your hack
and review efficient by adding indexes to your software souce code.
You can locate specified symbols in the source files and move there quickly.
It is useful for hacking a large project containing many subdirectories,
#ifdef and many
It is similar to ctags or etags but is different from them
at the point of indeppendence of any editor. You can use GLOBAL in various
environments like emacs, vi, less and etc. You can
read source code as a hypertext using any browser too.
GNU GLOBAL is
Free Software based on
GNU GPLv3 , and is also a
GNU GLOBAL handbook (ISBN978-4-9903617-6-1, B5 size, 327 pages)
was published in April 11 2012.
It is not a mere manual but a book which explains the concepts and usages
of GLOBAL in detail. All of GLOBAL is written in this book.
We planned an source code tagging system which meets the following requirement:
- Available from diverse environments
Though there are a lot of tools which support analysis of source code,
most of them are designed on the assumption of the use from original user
interface and are not implemented to combine with other tools.
As a result, if you select a certain tool then you must throw away other
tools or alternately use them without the relation.
Then we decided that we should make a pure tagging system which can be
called from diverse environments.
- Applicable to a large-scale project
Though the scale of software increases more day by day,
most conventional tagging systems are made on the assumption of
a comparatively small-scale project.
Therefore we planned to make a tagging system which can quickly find symbols
in a large-scale project, and can treat deep directory structure.
- work as a source code tagging system in various environments like Bash, Vi, Emacs, Less, Various Web browser, Doxygen, and etc.
- find the locations of a specified symbol quickly.
- locate not only definitions but also references.
- locate also path which includes specified pattern.
- treat a source tree containing subdirectories as a logical scope.
- search not only in a source tree but also in library paths.
- understand POSIX 1003.2 regular expressions.
- the functions of grep(1) is built-in.
- support external search engine id-utils(1).
- generate hypertext of source code (XHTML ready).
- tag files are independent of machine architecture.
- plugged-in parser is available to treat new language.
- compact format is available to save disk space.
- support incremental updating of tag files.
- support customizing with gtags.conf and style.css.
- generate completion list for completing input method.
"Comparison with Similar Tools"
page in the OpenGrok project site for comparison with other tools.
- Supported OS
- GNU system - Debian, Fedora, Suse, Ubuntu
- BSD system - FreeBSD, NetBSD, OpenBSD, MacOSX
- Various POSIX compatible system
- Support language:
You can write a plug-in parser for new language.
You can also use Exuberant Ctags as a parser for GLOBAL.
- Support environment
- Shell command line
- Bash shell
- Various Vi editor(nvi,elvis,vim)
- Emacs editor(emacs, mule, xemacs)
- Less viewer
- Various Web browser
- Doxygen documentation system
Outside related links
- Distribution condition:
You can redistribute this software freely under the
GNU GPLv3 (General Public License). Of course, all of operation and the function are no warranty.