• Public
  • Public/Protected
  • All

Module plugin






Type Aliases


Type Aliases

CharacterPair: [string, string]

A tuple of two characters, like a pair of opening and closing brackets.

ConfigurationScope: Uri | WorkspaceFolder | TextDocument | { languageId: string; uri?: Uri }
Declaration: Location | Location[] | LocationLink[]

The declaration of a symbol representation as one or many locations or location links.

Definition: Location | Location[]

The definition of a symbol represented as one or many locations. For most programming languages there is only one location at which a symbol is defined.

DefinitionLink: LocationLink

Information about where a symbol is defined.

Provides additional metadata over normal Location definitions, including the range of the defining symbol

DocumentSelector: DocumentFilter | string | ReadonlyArray<DocumentFilter | string>

A language selector is the combination of one or many language identifiers and language filters.

Note that a document selector that is just a language identifier selects all documents, even those that are not saved on disk. Only use such selectors when a feature works without further context, e.g without the need to resolve related 'files'.


let sel:DocumentSelector = { scheme: 'file', language: 'typescript' };

GlobPattern: string | RelativePattern

A file glob pattern to match file paths against. This can either be a glob pattern string (like **​/*.{ts,js} or *.{ts,js}) or a relative pattern.

Glob patterns can have the following syntax:

  • * to match one or more characters in a path segment
  • ? to match on one character in a path segment
  • ** to match any number of path segments, including none
  • {} to group conditions (e.g. **​/*.{ts,js} matches all TypeScript and JavaScript files)
  • [] to declare a range of characters to match in a path segment (e.g., example.[0-9] to match on example.0, example.1, …)
  • [!...] to negate a range of characters to match in a path segment (e.g., example.[!0-9] to match on example.a, example.b, but not example.0)

Inline value information can be provided by different means:

  • directly as a text value (class InlineValueText).
  • as a name to use for a variable lookup (class InlineValueVariableLookup)
  • as an evaluatable expression (class InlineValueEvaluatableExpression) The InlineValue types combines all inline value types into one type.
MarkedString: string | { language: string; value: string }

MarkedString can be used to render human readable text. It is either a markdown string or a code-block that provides a language and a code snippet. Note that markdown strings will be sanitized - that means html will be escaped.


This type is deprecated, please use MarkdownString instead.

PluginType: "frontend" | "backend"
ProviderResult<T>: T | undefined | null | Thenable<T | undefined | null>

A provider result represents the values a provider, like the CompletionItemProvider, may return. For once this is the actual result type T, like CompletionItemProvider, or a thenable that resolves to that type T. In addition, null and undefined can be returned - either directly or from a thenable.

Type Parameters

  • T


version: string

The version of the Theia API.