languageServerProtocol version 3.17.0-next20

protocol
textdocument
AnnotatedTextEdit

A special text edit with an additional change annotation.

BaseSymbolInformation

A base for all symbol information.

CallHierarchyIncomingCall

Represents an incoming call, e.g. a caller of a method or constructor.

CallHierarchyItem

Represents programming constructs like functions or constructors in the context of call hierarchy.

CallHierarchyOutgoingCall

Represents an outgoing call, e.g. calling a getter from a method or a method from a constructor etc.

ChangeAnnotation

Additional information that describes document changes.

ChangeAnnotationIdentifier

An identifier to refer to a change annotation stored with a workspace edit.

CodeAction

A code action represents a change that can be performed in code, e.g. to fix a problem or to refactor code.

CodeActionContext

Contains additional diagnostic information about the context in which a code action is run.

CodeActionKind

The kind of a code action.

CodeActionTriggerKind

The reason why code actions were requested.

CodeDescription

Structure to capture a description for an error code.

CodeLens

A code lens represents a command that should be shown along with source text, like the number of references, a way to run tests, etc.

Color

Represents a color in RGBA space.

ColorInformation

Represents a color range from a document.

ColorPresentation

Command

Represents a reference to a command. Provides a title which will be used to represent a command in the UI and, optionally, an array of arguments which will be passed to the command handler function when invoked.

CompletionItem

A completion item represents a text snippet that is proposed to complete text that is being typed.

CompletionItemKind

The kind of a completion entry.

CompletionItemLabelDetails

Additional details for a completion item label.

CompletionItemTag

Completion item tags are extra annotations that tweak the rendering of a completion item.

CompletionList

Represents a collection of completion items to be presented in the editor.

CreateFile

Create file operation.

CreateFileKind

CreateFileOptions

Options to create a file.

Declaration

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

DeclarationLink

Information about where a symbol is declared.

Definition

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

Information about where a symbol is defined.

DeleteFile

Delete file operation

DeleteFileKind

DeleteFileOptions

Delete file options

Diagnostic

Represents a diagnostic, such as a compiler error or warning. Diagnostic objects are only valid in the scope of a resource.

DiagnosticRelatedInformation

Represents a related message and source code location for a diagnostic. This should be used to point to code locations that cause or related to a diagnostics, e.g when duplicating a symbol in a scope.

DiagnosticSeverity

The diagnostic's serverity.

DiagnosticTag

The diagnostic tags.

DocumentHighlight

A document highlight is a range inside a text document which deserves special attention. Usually a document highlight is visualized by changing the background color of its range.

DocumentHighlightKind

A document highlight kind.

DocumentLink

A document link is a range in a text document that links to an internal or external resource, like another text document or a web site.

DocumentSymbol

Represents programming constructs like variables, classes, interfaces etc. that appear in a document. Document symbols can be hierarchical and they have two ranges: one that encloses its definition and one that points to its most interesting range, e.g. the range of an identifier.

FoldingRange

Represents a folding range.

FoldingRangeKind

A set of predefined range kinds.

FormattingOptions

Value-object describing what options formatting should use. This object can contain additional fields of type Bool/Int/Float/String.

Hover

The result of a hover request.

InlayHint

Inlay hint information.

InlayHintKind

Inlay hint kinds.

InlayHintLabelPart

An inlay hint label part allows for interactive and composite labels of inlay hints.

InlineValue

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.

InlineValueContext
Available since

3.17.0

InlineValueEvaluatableExpression

Provide an inline value through an expression evaluation. If only a range is specified, the expression will be extracted from the underlying document. An optional expression can be used to override the extracted expression.

InlineValueText

Provide inline value as text.

InlineValueVariableLookup

Provide inline value through a variable lookup. If only a range is specified, the variable name will be extracted from the underlying document. An optional variable name can be used to override the extracted name.

InsertReplaceEdit

A special text edit to provide an insert and a replace operation.

InsertTextFormat

Defines whether the insert text in a completion item should be interpreted as plain text or a snippet.

InsertTextMode

How whitespace and indentation is handled during completion item insertion.

LSPAny

The LSP any type.

LSPArray

LSP arrays.

LSPObject

LSP object definition.

Location

Represents a location inside a resource, such as a line inside a text file.

LocationLink

Represents the connection of two locations. Provides additional metadata over normal locations, including an origin range.

MarkedString

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. The language identifier is semantically equal to the optional language identifier in fenced code blocks in GitHub issues. See https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting

MarkupContent

A MarkupContent literal represents a string value which content is interpreted base on its kind flag. Currently the protocol supports plaintext and markdown as markup kinds.

MarkupKind

Describes the content type that a client supports in various result literals like Hover, ParameterInfo or CompletionItem.

OptionalVersionedTextDocumentIdentifier

A text document identifier to optionally denote a specific version of a text document.

ParameterInformation

Represents a parameter of a callable-signature. A parameter can have a label and a doc-comment.

ReferenceContext

Value-object that contains additional information when requesting references.

RenameFile

Rename file operation

RenameFileKind

RenameFileOptions

Rename file options

ResourceOperation

A generic resource operation.

SelectionRange

A selection range represents a part of a selection hierarchy. A selection range may have a parent selection range that contains it.

SemanticTokenModifiers

A set of predefined token modifiers. This set is not fixed an clients can specify additional token types via the corresponding client capabilities.

SemanticTokenTypes

A set of predefined token types. This set is not fixed an clients can specify additional token types via the corresponding client capabilities.

SemanticTokens
Available since

3.16.0

SemanticTokensDelta
Available since

3.16.0

SemanticTokensEdit
Available since

3.16.0

SemanticTokensLegend
Available since

3.16.0

SignatureHelp

Signature help represents the signature of something callable. There can be multiple signature but only one active and only one active parameter.

SignatureInformation

Represents the signature of something callable. A signature can have a label, like a function-name, a doc-comment, and a set of parameters.

SymbolInformation

Represents information about programming constructs like variables, classes, interfaces etc.

SymbolKind

A symbol kind.

SymbolTag

Symbol tags are extra annotations that tweak the rendering of a symbol.

TextDocument

A simple text document. Not to be implemented. The document keeps the content as string.

TextDocumentEdit

Describes textual changes on a text document. A TextDocumentEdit describes all changes on a document version Si and after they are applied move the document to version Si+1. So the creator of a TextDocumentEdit doesn't need to sort the array of edits or do any kind of ordering. However the edits must be non overlapping.

TextDocumentIdentifier

A literal to identify a text document in the client.

TextDocumentItem

An item to transfer a text document from the client to the server.

TextEditChange

A change to capture text edits for existing resources.

TypeHierarchyItem
Available since

3.17.0

URI

A tagging type for string properties that are actually URIs

VersionedTextDocumentIdentifier

An identifier to denote a specific version of a text document.

WorkspaceEdit

A workspace edit represents changes to many resources managed in the workspace. The edit should either provide changes or documentChanges. If documentChanges are present they are preferred over changes if the client can handle versioned document edits.

WorkspaceFolder

A workspace folder inside a client.

WorkspaceSymbol

A special workspace symbol that supports locations without a range.