Crate languageserver_types[][src]

Language Server Protocol types for Rust.

Based on: https://microsoft.github.io/language-server-protocol/specification

This library uses the URL crate for parsing URIs. Note that there is some confusion on the meaning of URLs vs URIs: http://stackoverflow.com/a/28865728/393898. According to that information, on the classical sense of "URLs", "URLs" are a subset of URIs, But on the modern/new meaning of URLs, they are the same as URIs. The important take-away aspect is that the URL crate should be able to parse any URI, such as urn:isbn:0451450523.

Modules

notification
request

Macros

lsp_notification
lsp_request

Structs

ApplyWorkspaceEditParams
ApplyWorkspaceEditResponse
CancelParams
ClientCapabilities

Where ClientCapabilities are currently empty:

CodeActionContext

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

CodeActionParams

Params for the CodeActionRequest

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.

CodeLensOptions

Code Lens options.

CodeLensParams
ColorProviderOptions
Command

Represents a reference to a command. Provides a title which will be used to represent a command in the UI. Commands are identitifed using a string identifier and the protocol currently doesn't specify a set of well known commands. So executing a command requires some tool extension code.

CompletionCapability
CompletionContext
CompletionItem
CompletionItemCapability
CompletionItemKindCapability
CompletionList

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

CompletionOptions

Completion options.

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

DidChangeConfigurationParams
DidChangeTextDocumentParams
DidChangeWatchedFilesParams
DidChangeWatchedFilesRegistrationOptions

Describe options to be used when registered for text document change events.

DidCloseTextDocumentParams
DidOpenTextDocumentParams
DidSaveTextDocumentParams
DocumentFilter

A document filter denotes a document through properties like language, schema or pattern. Examples are a filter that applies to TypeScript files on disk or a filter the applies to JSON files with name package.json:

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

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.

DocumentLinkParams
DocumentOnTypeFormattingOptions

Format document on type options

DocumentOnTypeFormattingParams
DocumentOnTypeFormattingRegistrationOptions

Extends TextDocumentRegistrationOptions

DocumentRangeFormattingParams
DocumentSymbolParams
ExecuteCommandOptions

Execute command options.

ExecuteCommandParams
ExecuteCommandRegistrationOptions

Execute command registration options.

FileEvent

An event describing a file change.

FileSystemWatcher
FormattingOptions

Value-object describing what options formatting should use.

GenericCapability
Hover

The result of a hover request.

HoverCapability
InitializeError
InitializeParams
InitializeResult
InitializedParams
LanguageString
Location

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

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

MessageActionItem
ParameterInformation

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

Position

Position in a text document expressed as zero-based line and character offset. A position is between two characters like an 'insert' cursor in a editor.

PublishDiagnosticsCapability
PublishDiagnosticsParams
Range

A range in a text document expressed as (zero-based) start and end positions. A range is comparable to a selection in an editor. Therefore the end position is exclusive.

ReferenceContext
ReferenceParams
Registration

General parameters to to register for a capability.

RegistrationParams
RenameParams
SaveOptions

Save options.

ServerCapabilities
ShowMessageParams
ShowMessageRequestParams
SignatureHelp

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

SignatureHelpCapability
SignatureHelpOptions

Signature help options.

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.

SignatureInformationSettings
StaticRegistrationOptions
StaticTextDocumentColorProviderOptions
StaticTextDocumentRegistrationOptions
SymbolCapability
SymbolInformation

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

SymbolKindCapability

Specific capabilities for the SymbolKind in the workspace/symbol request.

SynchronizationCapability
TextDocumentChangeRegistrationOptions

Descibe options to be used when registered for text document change events.

TextDocumentClientCapabilities

Text document specific client capabilities.

TextDocumentContentChangeEvent

An event describing a change to a text document. If range and rangeLength are omitted the new text is considered to be the full content of the document.

TextDocumentEdit

Describes textual changes on a single text document. The text document is referred to as a VersionedTextDocumentIdentifier to allow clients to check the text document version before an edit is applied. A TextDocumentEdit describes all changes on a 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 or do any kind of ordering. However the edits must be non overlapping.

TextDocumentIdentifier

Text documents are identified using a URI. On the protocol level, URIs are passed as strings.

TextDocumentItem

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

TextDocumentPositionParams

A parameter literal used in requests to pass a text document and a position inside that document.

TextDocumentRegistrationOptions

Since most of the registration options require to specify a document selector there is a base interface that can be used.

TextDocumentSyncOptions
TextEdit

A textual edit applicable to a text document.

Unregistration

General parameters to unregister a capability.

UnregistrationParams
VersionedTextDocumentIdentifier

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

WatchKind
WillSaveTextDocumentParams

The parameters send in a will save text document notification.

WorkspaceClientCapabilities

Workspace specific client capabilities.

WorkspaceEdit

A workspace edit represents changes to many resources managed in the workspace.

WorkspaceEditCapability
WorkspaceSymbolParams

The parameters of a Workspace Symbol Request.

Enums

ColorProviderCapability
CompletionItemKind

The kind of a completion entry.

CompletionResponse
CompletionTriggerKind

How a completion was triggered.

DiagnosticSeverity

The protocol currently supports the following diagnostic severities:

DocumentHighlightKind

A document highlight kind.

Documentation
FileChangeType

The file event type.

FormattingProperty
HoverContents

Hover contents could be single entry or multiple entries.

ImplementationProviderCapability
InsertTextFormat

Defines how to interpret the insert text in a completion item

MarkedString

The marked string is rendered:

MarkupKind

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

MessageType
NumberOrString
SymbolKind

A symbol kind.

TextDocumentSaveReason

Represents reasons why a text document is saved.

TextDocumentSyncCapability
TextDocumentSyncKind

Defines how the host (editor) should sync document changes to the language server.

TraceOption
TypeDefinitionProviderCapability

Type Definitions

DocumentSelector

A document selector is the combination of one or many document filters.