Provided by: global_5.7.1-2_amd64 bug

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.