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))
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.