gi-docgen gen-index

Generating the symbols index from introspection data

SYNOPSIS

gi-docgen gen-index [OPTIONS…] [GIRFILE]

DESCRIPTION

The gen-index command generates a symbols index from introspection data. The symbols index can be used to efficiently search symbols and terms.

The generated index file is called index.json

OPTIONS

--add-include--path DIR
Adds DIR to the list of paths used to find introspection data files included in the given GIRFILE. The default search path for GIR files is $XDG_DATA_DIRS/gir-1.0 and $XDG_DATA_HOME/gir-1.0; this option is typically used to include uninstalled GIR files, or non-standard locations.
-C, --config FILE
Loads a project configuration file.
--dry-run
Only load the introspection data, without generating the index.
--content-dir DIR
The directories for extra content, like additional files and images specified in the project configuration file. This argument may be called multiple times to specify several lookup directories, the content files will be looked these directories in the same order they are added.
--output-dir DIR
Generates the index file under DIR.

INDEX FILE

The index file is in JSON format.

The index file contains a single object with the following members:

meta = object
An object with metadata about the index.
symbols = array of objects
An array of all the addressable symbols.
terms = object
A dictionary of all terms.

The meta object contains the following members:

ns = s
The namespace name.
version = s
The namespace version.
generator = s
The gi-docgen string.
generator-version = s
The version of gi-docgen.

The symbols array contains objects with the following members:

type = s (mandatory)
The type of symbol: alias, bitfield, callback, class, class_method, ctor, domain, enum, function, function_macro, interface, method, property, signal, type_func, union, vfunc.
name = s (mandatory)
The name of the symbol.
ctype = s
The base C type for identifiers; only available for types: alias, bitfield, class, domain, enum, interface, union.
type_name = s
The type name related to a symbol; only available for types: class_method, ctor, method, property, signal, type_func, vfunc.
ident = s
The C identifier for symbols; only available for types: class_method, constant, ctor, function, function_macro, method, type_func.
struct_for = s
The C type related to a class structure; only available for the class_method type.

The terms dictonary contains all terms as members; each term is associated to an array of indices in the symbols array.