GNU GLOBAL source code tagging systemGNU 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 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.
MotiveWe 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.
Please see "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:
- 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