GTAGS.CONF(5)

NAME
gtags.conf - configuration data for GNU Global

SYNOPSIS
'gtags.conf'
'~/.globalrc'

DESCRIPTION
'gtags.conf' has configuration data for global(1), gozilla(1), gtags(1) and htags(1). They look for the following files in this order, and read from the first one that exists and is readable.

(1) --gtagsconf file

(2) $GTAGSCONF

(3) [project root]/gtags.conf

(4) [project root]/[objdir]/gtags.conf

(5) $HOME/.globalrc

(6) /etc/gtags.conf

(7) [sysconfdir]/gtags.conf

[sysconfdir] is '/usr/local/etc' by default; you can change it by the --sysconfdir option of the configure script. [objdir] is 'obj' by default; you can change it by GTAGSOBJDIR or MAKEOBJDIR.

Its syntax is similar to termcap(5) except for some extensions described later. A file includes one or more records. You should select a record using a label. Default label is 'default'. If GTAGSLABEL is set, its value is used. Please be aware the meaning of 'default' is different from that of termcap(5).

Lines starting with '#' are ignored. A record consists of one or more fields separated by ':' and ends with a newline. The first field must have a label name. Each field of the rest has a variable definition. There are three types in those variables.

Boolean: This type has no value; existence of variable means true else false.

Number: This type has a number value after '#'.

String: This type has a string value after '='.
    Most variables are relevant to string type.

If data includes ':' or newline, you need to quote it by '\'. An empty field is permitted, but it doesn't make sense.

When there is more than one definition, the previous one is adopted. Exceptionally, all values of skip, langmap and gtags_parser are adopted and connected respectively.

Variable substitution
Variable substitution similar to sh(1) is available. You can refer to any string variable using '$' prefix. For example, the following b has a value 'XYZ'.
:a=Y:b=X${a}Z:

Including another record
Tc is a special variable; it reads in definitions in another record. It is similar to the tc of termcap(5). Its syntax is as follows:
tc=label[@file]
If only a label is given, tc is read from a record specified by the label in the same file. If @file is also given, tc is read from a record specified by the label in the specified file. File should be an absolute path, and should not include variables. Different from termcap(5), you can use tc anytime anywhere.

CONFIGURATION
About variables for each command, please see each manual.

You can use the following environment variables as a string variable. If these variables are set then environment variables of the same name are set before command execution.
GREP_COLOR
GREP_COLORS
GTAGSBLANKENCODE
GTAGSCACHE
GTAGSFORCECPP
GTAGSGLOBAL
GTAGSGTAGS
GTAGSLIBPATH
GTAGSLOGGING
GTAGSTHROUGH
GTAGS_OPTIONS
HTAGS_OPTIONS
MAKEOBJDIR
MAKEOBJDIRPREFIX
TMPDIR

The following variables are also available as a string variable. By default, each of them has a directory path given by the configure script.
bindir
datadir
libdir
localstatedir
sysconfdir

ENVIRONMENT
The following environment variables affect the execution of the commands.

GTAGSCONF
    If this variable is set, the value is used as a configuration file.

GTAGSLABEL
    If this variable is set, the value is used as a label of the configuration file. The default is default.

SEE ALSO
global(1), gozilla(1), gtags(1), htags(1).

GNU Global source code tag system
(http://www.gnu.org/software/global/).

HISTORY
The gtags.conf file appeared in Global-3.0 (1998).