2.2.2.1 SemanticDB Search Throttle

The SemanticDB search throttle determines how aggressive SemanticDB searches are. It is controlled by the variable semanticdb-find-default-throttle. The default value of this variable aims for maximum accuracy, at the expense of search time.

Other parts of the Semantic package, particularly the different language parsers, may change the value of semanticdb-find-default-throttle. You can override its value, for a given major mode, like this:

(setq-mode-local c-mode
                 semanticdb-find-default-throttle
                 '(project unloaded system recursive))
Variable: semanticdb-find-default-throttle

The default throttle for semanticdb-find routines. The throttle controls how detailed the list of database tables is for a symbol lookup. The value is a list with the following keys:

file

The file the search is being performed from. This option is here for completeness only, and is assumed to always be on.

local

Tables from the same local directory are included. This includes files directly referenced by a file name which might be in a different directory.

project

Tables from the same local project are included If project is specified, then local is assumed.

unloaded

If a table is not in memory, load it. If it is not cached on disk either, get the source, parse it, and create the table.

system

Tables from system databases. These are specifically tables from system header files, or language equivalent.

recursive

For include based searches, includes tables referenced by included files.

omniscience

Included system databases which are omniscience, or somehow know everything. Omniscience databases are found in semanticdb-project-system-databases. The Emacs Lisp system db is an omniscience database.