Man Linux: Main Page and Category List

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.