NAME
global - print the locations of specified object.
SYNOPSIS
global [-aGilnqrstTvx][-e] pattern
global -c[qrsv] prefix
global -f[anqrstvx] files
global -g[aGilnoOqtvx][-e] pattern
global -I[ailnqtvx][-e] pattern
global -P[aGilnoOqtvx][-e] pattern
global -p[qrv]
global -u[qv]
DESCRIPTION
Global find the locations of specified object in C, C++, Yacc, Java,
PHP and Assembly source files. Global can treat a source tree, that
is, a directory that has sub-directories and source files as a project.
You can get the relative path of objects from anywhere within the
project. Global can locate not only object definitions but also object
references and other symbols.
In advance of using this command, you must execute gtags(1) at the root
directory of the project to make tag files. Then you can execute this
command at anywhere in the project.
COMMANDS
The following commands are available:
<no command> pattern
Print object which match to the pattern. Extended regular
expressions which are the same as those accepted by egrep(1) are
available.
-c, --completion [prefix]
Print the candidates of object names which start with the
specified prefix. Prefix is not specified, print all object
names.
-f, --file files
Print all tags in the files. This option implies the -x option.
-g, --grep pattern
Print all lines which match to the pattern.
--help Show help.
-I, --idutils pattern
Print all lines which match to the pattern. This function use
idutils(1) as a search engine. To use this command, you need to
install idutils(1) in your system and you must execute gtags(1)
with the -I option.
-P, --path [pattern]
Print the paths which match to the pattern. If no pattern
specified, print all paths in the project.
-p, --print-dbpath
Print the location of ´GTAGS´.
-u, --update
Locate tag files and update them incrementally.
--version
Show version number.
OPTIONS
The following options are available:
-a, --absolute
Print absolute path name. By default, print relative path name.
--from-here context
Decide tag type by the context. The context must be
’lineno:path’. If this option is specified then the -s and -r
are ignored. Regular expression is not allowed in the pattern.
This option is assumes use in conversational environments such
as editors and IDEs.
-e, --regexp pattern
Use pattern as the pattern; useful to protect patterns
beginning with ´-´.
-G, --basic-regexp
Interpret pattern as a basic regular expression. The default
is extended regular expression.
-i, --ignore-case
ignore case distinctions in pattern.
-l, --local
Print just objects which exist under the current directory.
-n, --nofilter
Suppress sort filter and path conversion filter.
-O, --only-other
Search pattern only in other than source files like ´README´.
This option is valid only with -g or -P command. This option
override the -o option.
-o, --other
Search pattern in not only source files but also other files
like ´README´. This option is valid only with -g or -P command.
-q, --quiet
Quiet mode.
-r, --reference, --rootdir
Print the locations of object references. By default, print
object definitions. With the -p option, print the root
directory of source tree.
--result format
format may be ’path’, ‘ctags’, ‘ctags-x’, ‘grep’ or ’cscope’.
The --result=ctags and --result=ctags-x are equivalent to the -t
and -x respectively. The --result option is given to priority
more than the -t and -x option.
-s, --symbol
Print the locations of specified symbol other than definitions.
-T, --through
Go through all the tag files listed in GTAGSLIBPATH. By
default, stop searching when tag is found. This option is
ignored when either -s, -r or -l option is specified.
-t, --tags
Print with standard ctags format.
-v, --verbose
Verbose mode.
-x, --cxref
In addition to the default output, produce the line number and
the line contents.
EXAMPLES
$ ls -F
Makefile src/ lib/
$ gtags
$ global main
src/main.c
$ global -x main
main 10 src/main.c main (argc, argv) {
$ global -x ’^[sg]et’
set_num 20 lib/util.c set_num(values)
get_num 30 lib/util.c get_num() {
$ global -rx ’^[sg]et’
set_num 113 src/op.c set_num(32);
set_num 225 src/opop.c if (set_num(0) > 0) {
get_num 90 src/op.c while (get_num() > 0) {
$ cd lib
$ global -rx ’^[sg]et’
set_num 113 ../src/op.c set_num(32);
set_num 225 ../src/opop.c if (set_num(0) > 0) {
get_num 90 ../src/op.c while (get_num() > 0) {
$ global strlen
$ (cd /usr/src/sys; gtags)
$ export GTAGSLIBPATH=/usr/src/sys
$ global strlen
../../../usr/src/sys/libkern/strlen.c
$ (cd /usr/src/lib; gtags)
$ GTAGSLIBPATH=/usr/src/lib:/usr/src/sys
$ global strlen
../../../usr/src/lib/libc/string/strlen.c
FILES
´GTAGS´
Tag file for object definitions.
´GRTAGS´
Tag file for object references.
´GSYMS´
Tag file for other symbols.
´GPATH´
Tag file for path of source files.
´GTAGSROOT´
If environment variable GTAGSROOT is not set and ´GTAGSROOT´
exist in the same directory with ´GTAGS´ then use the value as
GTAGSROOT.
´/etc/gtags.conf´, ´$HOME/.globalrc´
Configuration file.
ENVIRONMENT
The following environment variables affect the execution of global:
GTAGSROOT
The directory which is the root of source code.
GTAGSDBPATH
The directory on which gtags database exist. This value is
ignored when GTAGSROOT is not defined.
GTAGSLIBPATH
If this variable is set, it is used as the path to search for
library functions. If the specified function is not found in the
source project, global also search in these paths.
GTAGSLABEL
If this variable is set, its value is used as the label of
configuration file. The default is default.
MAKEOBJDIRPREFIX
If this variable is set, ´$MAKEOBJDIRPREFIX<current directory>´
is used as the candidate directory for tag files.
CONFIGURATION
The following configuration variables affect the execution of global:
icase_path(boolean)
Ignore case distinctions in the pattern.
DIAGNOSTICS
Global exits with a non 0 value if an error occurred, 0 otherwise.
SEE ALSO
gtags-parser(1), gtags(1), htags(1), less(1).
GNU GLOBAL source code tag system
(http://www.gnu.org/software/global/).
AUTHOR
Tama Communications Corporation.
HISTORY
The global command appeared in FreeBSD 2.2.2.