GNU Global source code tagging system
Copyright (c) 2000-2023 Tama Communications Corporation
GNU Global is a source code tagging system that works the same way
across diverse environments, such as Emacs editor, Vi editor,
Less viewer, Bash shell, various web browsers, etc.
You can locate various objects, such as functions, macros, structs, classes,
in your source files and move there easily.
It is useful for hacking on a large project which contains many sub-directories,
#ifdef and many
It is similar to ctags or etags, but is different from them in the following two points:
It runs in UNIX (POSIX) compatible operating system, like GNU and BSD.
- independence of any editor
- capability to treat definitions and references
GNU Global is part of the GNU project,
and is free software.
You can freely copy, modify and redistribute this program under
GNU Global has the following features:
Please also see
'Comparison with Similar Tools'
in the OpenGrok project site for comparison with other tools.
- supports 5 languages by built-in parser. (definition and reference)
C, Yacc, Java, PHP4 and assembly.
- supports 25 languages by Pygments + Universal Ctags plug-in parser. (definition and reference)
To use the parser, please see the 'plugin-factory/PLUGIN_HOWTO.pygments' file in the package.
- works the same way across diverse environments like follows:
- Shell command line
- Bash shell
- Vi editor (Nvi, Elvis, vim)
- Less viewer
- Emacs editor (Emacs, Mule, Xemacs)
- Web browser
(See UNIX kernel source tour!.)
- Doxygen documentation system
- finds locations of specified symbol quickly.
- locate not only definitions but also references.
- allows duplicate tags.
- locate paths which matches to the specified pattern.
- hierarchical search by default.
- searches not only in a source project but also in library projects.
- generates a completion list for completing input method.
- supports various output formats.
- allows customizing of the set of candidate files to be tagged.
- understands POSIX 1003.2 regular expression.
- supports idutils as an external search engine.
- tag files are independent of machine architecture.
- supports incremental updating of tag files.
- plug-in parser is available to treat new languages.
- supports customizing with gtags.conf.
- generates a hypertext of source code.
- supports compact format to save disk space.
- supports client/server environment (TRAMP ready).
- ignores binary files, dot files and specified files.
- includes cscope-compatible program (gtags-cscope).
- includes grep-like command (-g command).
- deals with loop of symbolic links well.
If you have a plan to make a yet another editor with tag facility,
you can use Global for it.
May the Global be under you like the globe!