Protected
Readonly
astProtected
Readonly
documentsProtected
Readonly
referenceThis index keeps track of all ReferenceDescription
items exported by a document.
This is used to compute which elements are affected by a document change
and for finding references to an AST node.
Protected
Readonly
serviceProtected
Readonly
symbolThis is a cache for the allElements()
method.
It caches the descriptions from symbolIndex
grouped by types.
Protected
Readonly
symbolThe symbol index stores all AstNodeDescription
items exported by a document.
The key used in this map is the string representation of the specific document URI.
Compute a list of all exported elements, optionally filtered using a type identifier and document URIs.
Optional
nodeType: stringThe type to filter with, or undefined
to return descriptions of all types.
Optional
uris: Set<string>If specified, only returns elements from the given URIs.
a Stream
containing all globally visible nodes (of a given type).
Returns all known references that are pointing to the given targetNode
.
the AstNode
to look up references for
the path that points to the targetNode
inside the document. See also AstNodeLocator
a Stream
of references that are targeting the targetNode
Protected
getOptional
nodeType: stringDetermine whether the given document could be affected by changes of the documents identified by the given URIs (second parameter). The document is typically regarded as affected if it contains a reference to any of the changed files.
Document to check whether it's affected
URIs of the changed documents
Removes the specified document URI from the index. Necessary when documents are deleted and not referenceable anymore.
The URI of the document for which index data shall be removed
Updates the information about the exportable content of a document inside the index.
Document to be updated
Indicates when to cancel the current operation.
Updates the information about the cross-references of a document inside the index.
Document to be updated
Indicates when to cancel the current operation.
The index manager is responsible for keeping metadata about symbols and cross-references in the workspace. It is used to look up symbols in the global scope, mostly during linking and completion. This service is shared between all languages of a language server.