LanguageServer.VsCode A class that puts all the Language Protocol client-side proxy methods together. Initializes a client-side proxy method aggreator instance with specified and . The builder used to build implementations for the stub interfaces. The client used to send JSON RPC requests. Either or is null. The builder used to build implementations for the stub interfaces. The client used to send JSON RPC requests. Registers for a new capability on the client side. Not all clients need to support dynamic capability registration. A client opts in via the ClientCapabilities.dynamicRegistration property. Unregisters a previously registered capability. Diagnostics notification are sent from the server to the client to signal results of validation runs. The URI for which diagnostic information is reported. An array of diagnostic information items. To clear the existing diagnostics, pass instead of null. The telemetry notification is sent from the server to the client to ask the client to log a telemetry event. The telemetry notification is sent from the server to the client to ask the client to log a telemetry event. Any number of data to be sent. Diagnostics notification are sent from the server to the client to signal results of validation runs. The URI for which diagnostic information is reported. An array of diagnostic information items. The show message notification is sent from a server to a client to ask the client to display a particular message in the user interface. The message type. The actual message. The show message request is sent from a server to a client to ask the client to display a particular message in the user interface. In addition to the show message notification the request allows to pass actions and to wait for an answer from the client. The message type. The actual message. The message action items to present. The show message request is sent from a server to a client to ask the client to display a particular message in the user interface. In addition to the show message notification the request allows to pass actions and to wait for an answer from the client. The message type. The actual message. The message action items to present. The log message notification is sent from the server to the client to ask the client to log a particular message. The message type. The actual message. Modifies resource on the client side. The edits to apply. Indicates whether the edit was applied or not. Contains additional diagnostic information about the context in which a code action is run. An array of diagnostics. 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. The range in which this code lens is valid. Should only span a single line. The command this code lens represents. A code lens is "unresolved" when no command is associated to it. For performance reasons the creation of a code lens and resolving should be done in two stages. A data entry field that is preserved on a code lens item between a code lens and a code lens resolve request. Descibe options to be used when registered for code lens events. Code lens has a resolve provider as well. Use instead of this class. Represents a reference to a VS Code command. (Command in language protocol.) Arguments that the command handler should be invoked with. The identifier of the actual command handler. Title of the command, like `save`. Execute command registration options. The commands to be executed on the server. The kind of a completion entry. Defines whether the insert text in a completion item should be interpreted as plain text or a snippet. The primary text to be inserted is treated as a plain string. The primary text to be inserted is treated as a snippet. A snippet can define tab stops and placeholders with $1, $2 and ${3:foo}. $0 defines the final tab stop, it defaults to the end of the snippet.Placeholders with equal identifiers are linked, that is typing in one will update others too. See also: https://github.com/Microsoft/vscode/blob/master/src/vs/editor/contrib/snippet/common/snippet.md Represents a collection of to be presented in the editor。 This list it not complete. Further typing should result in recomputing this list. The completion items. A completion item. The label of this completion item. By default also the text that is inserted when selecting this completion. The kind of this completion item. Based of the kind an icon is chosen by the editor. A human-readable (short) string with additional information about this item, like type or symbol information. A human-readable string that represents a doc-comment. A string that shoud be used when comparing this item with other items. When `falsy` the label is used. A string that should be used when filtering a set of completion items. When `falsy` the label is used. A string that should be inserted a document when selecting this completion. When `falsy` the label is used. The format of the insert text. The format applies to both the `insertText` property and the `newText` property of a provided `textEdit`. An edit which is applied to a document when selecting this completion. When an edit is provided the value of `insertText` is ignored. *Note:* The range of the edit must be a single line range and it must contain the position at which completion has been requested. An optional array of additional text edits that are applied when selecting this completion. Edits must not overlap with the main edit nor with themselves. An optional set of characters that when pressed while this completion is active will accept it first and then type that character. An optional command that is executed *after* inserting this completion. *Note* that additional modifications to the current document should be described with the property. An data entry field that is preserved on a completion item between a completion and a completion resolve request. Descibe options to be used when registered for code completion events. The server provides support to resolve additional information for a completion item. (i.e. supports completionItem/resolve.) The characters that trigger completion automatically. Contains additional information about the context in which a completion request is triggered. When used to implement textDocument/completion, this instance is only available if the client specifies to send this using ClientCapabilities.TextDocument.Completion.ContextSupport == true. Initializes a new with set to . Initializes a new with set to . The character that triggers the completion. How the completion was triggered. The trigger character (a single character) that has trigger code complete. Is undefined if is not . How a completion was triggered. Completion was triggered by typing an identifier (24x7 code complete), manual invocation (e.g Ctrl+Space) or via API. Completion was triggered by a trigger character specified by the property of the . A value assigned to a determining its severity. Reports an error. Reports a warning. Reports an information. Reports a hint. Represents a diagnostic, such as a compiler error or warning. Represents an empty array of The diagnostic's code. The diagnostic's message. The range to which the message applies. The diagnostic's severity. A human-readable string describing the source of this diagnostic, e.g. 'typescript' or 'super lint'. Signature for further properties. 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: { language: 'typescript', scheme: 'file' } { language: 'json', pattern: '**/package.json' } A document selector is the combination of one or many document filters. A language id, like `typescript`. A Uri scheme, like `file` in `file:///C:/abc.txt` or `untitled` in `untitled:`. A glob pattern, like `*.{ts,js}`. 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. The range this highlight applies to. The highlight kind, default is . Write-access of a symbol, like writing to a variable. A textual occurrence. Read-access of a symbol, like reading a variable. Write-access of a symbol, like writing to a variable. 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. The range this link applies to. The range this link applies to. If missing a resolve request is sent later. Descibe options to be used when registered for document link events. Document links have a resolve provider as well. Descibe options to be used when registered for document link events. A character on which formatting should be triggered. More trigger characters. 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. The name of this symbol. Will be displayed in the user interface and therefore must not be an empty string or a string only consisting of white spaces. More detail for this symbol, e.g the signature of a function. The kind of this symbol. Indicates if this symbol is deprecated. The range enclosing this symbol not including leading/trailing whitespace but everything else like comments. This information is typically used to determine if the clients cursor is inside the symbol to reveal in the symbol in the UI. The range that should be selected and revealed when this symbol is being picked, e.g the name of a function. Must be contained by the `range`. Children of this symbol, e.g. properties of a class. An event describing a file change. The file's URI. The change type. The file event type. The file got created. The file got changed. The file got deleted. Value-object describing what options formatting should use. Size of a tab in spaces. Prefer spaces over tabs. Signature for further properties. Represents the result of a hover request - a formatted tooltip. A Markdown string to display in the Hover. The range to which this Hover applies. Whether this capability supports dynamic registration. Defines the capabilities provided by the client. Workspace specific client capabilities. Text document specific client capabilities. Experimental client capabilities. Defines capabilities the editor / tool provides on the workspace. The client supports applying batch edits to the workspace by supporting the request 'workspace/applyEdit'. Capabilities specific to s. specific to the `workspace/didChangeConfiguration` notification. Capabilities specific to the `workspace/didChangeWatchedFiles` notification. Capabilities specific to the `workspace/symbol` request. Capabilities specific to the `workspace/executeCommand` request. Capabilities specific to s. The client supports versioned document changes in s. Defines capabilities the editor / tool provides on text documents. Synchronization supports. Capabilities specific to the `textDocument/completion` The server provides hover support. The server provides signature help support. The server provides goto definition support. The server provides find references support. The server provides document highlight support. The server provides document symbol support. The server provides workspace symbol support. The server provides code actions. The server provides code lens. The server provides document formatting. The server provides document range formatting. The server provides document formatting on typing. The server provides rename support. The client supports sending will save notifications. The client supports sending a will save request and waits for a response providing text edits which will be applied to the document before it is saved. The client supports did save notifications. The client supports the following specific capabilities. The client supports to send additional context information for a textDocument/completion request. Client supports snippets as insert text. A snippet can define tab stops and placeholders with `$1`, `$2` and `${3:foo}`. `$0` defines the final tab stop, it defaults to the end of the snippet. Placeholders with equal identifiers are linked, that is typing in one will update others too. Client supports commit on a completion item. Client supports the follow content formats for the documentation property.The order describes the preferred format of the client. The completion item kind values the client supports. When this property exists the client also guarantees that it will handle values outside its set gracefully and falls back to a default value when unknown. If this property is not present, the client only supports the completion items kinds from `Text` to `Reference` as defined in the initial version of the protocol. Capabilities specific to the `textDocument/hover`. Client supports the follow content formats for the content property. The order describes the preferred format of the client. Capabilities specific to the `textDocument/signatureHelp`. The client supports the following specific properties. Client supports the follow content formats for the documentation property. The order describes the preferred format of the client. The response for initialize request. The capabilities the language server provides. The error response for initialize request. (Set this object to .) Indicates whether the client execute the retry logic as described in the "remarks" section. The retry logic is as follows: show the message provided by the ResponseError to the user user selects retry or cancel if user selected retry the initialize method is sent again. Defines capabilities provided by the language server. Defines how text documents are synced. Is either a detailed structure defining each notification or for backwards compatibility the number. The server provides hover support. The server provides completion support. The server provides signature help support. The server provides goto definition support. The server provides find references support. The server provides document highlight support. The server provides document symbol support. The server provides workspace symbol support. The server provides code actions. The server provides code lens. The server provides document formatting. The server provides document range formatting. The server provides document formatting on typing. The server provides rename support. The server provides document link support. The server provides execute command support. Experimental server capabilities. Signature help options. The characters that trigger signature help automatically. Code Lens options. Code lens has a resolve provider as well. Format document on type options. A character on which formatting should be triggered. More trigger characters. Signature help options. Document links have a resolve provider as well. Signature help options. Document links have a resolve provider as well. Defines how the host (editor) should sync document changes to the language server. Documents should not be synced at all. Documents are synced by always sending the full content of the document. Documents are synced by sending the full content on open. After that only incremental updates to the document are send. Open and close notifications are sent to the server. Change notificatins are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full and TextDocumentSyncKind.Incremental. Will save notifications are sent to the server. Will save wait until requests are sent to the server. Save notifications are sent to the server. Save options. The client is supposed to include the content on save. Completion options. The server provides support to resolve additional information for a completion item. (i.e. supports completionItem/resolve.) The characters that trigger completion automatically. Represents a location inside a resource, such as a line inside a text file. 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. 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. 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. If the kind is `markdown` then the value can contain fenced code blocks like in GitHub issues. See https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting. is null. The type of the Markup. The content itself. Describes the content type that a client supports in various result literals like , or . Please note that must not start with a `$`. This kinds are reserved for internal usage. Plain text is supported as a content format. Markdown is supported as a content format. Gets the string representation of the markup kind. Used to convert into JSON. An error message. A warning message. An information message. A log message. Represents an action button shown in the message box (or popup bar). A short title like 'Retry', 'Open Log' etc. Provides a handy structure for covnersion between string and . Used with textDocument/references. Include the declaration of the current symbol. General paramters to register for a capability. Initialize an empty registration entry. Initialize with automatic generated and other given parameters. Initialize with given parameters. The id used to register the request. The id can be used to deregister the request again. The method / capability to register for. Options necessary for the registration. Registration options for in client/registerCapability. You may derive your own options class from here, if necessary. Since most of the registration options require to specify a document selector, there is a base interface that can be used. A document selector to identify the scope of the registration. If set to null the document selector provided on the client side will be used. General parameters to unregister a capability. Initialize an empty class. Initialize with given parameters. The id used to unregister the request or notification. Usually an id provided during the register request. The method / capability to unregister for. Signature help represents the signature of something callable.There can be multiple signature but only one active and only one active parameter. One or more signatures. The active signature. If omitted or the value lies outside the range of `signatures` the value defaults to zero or is ignored if `signatures.length === 0`. Whenever possible implementors should make an active decision about the active signature and shouldn't rely on a default value. In future version of the protocol this property might become mandantory to better express this. The active parameter of the active signature. If omitted or the value lies outside the range of `signatures[activeSignature].parameters` defaults to 0 if the active signature has parameters. If the active signature has no parameters it is ignored. In future version of the protocol this property might become mandantory to better express the active parameter if the active signature does have any. Represents the signature of something callable.A signature can have a label, like a function-name, a doc-comment, and a set of parameters. The label of this signature. Will be shown in the UI. The human-readable doc-comment of this signature. Will be shown in the UI but can be omitted. The parameters of this signature. Represents a parameter of a callable-signature.A parameter can have a label and a doc-comment. The label of this parameter. Will be shown in the UI. The human-readable doc-comment of this parameter. Will be shown in the UI but can be omitted. Descibe options to be used when registered for signature help events. The characters that trigger signature help automatically. Represents information about programming constructs like variables, classes, interfaces etc. The name of this symbol. The kind of this symbol. The location of this symbol. The name of the symbol containing this symbol. A symbol kind. An item to transfer a text document from the client to the server. The text document's language identifier. The content of the opened text document. The text document's URI. The version number of this document (it will strictly increase after each change, including undo/redo). Text documents are identified using a URI. An identifier to denote a specific version of a text document. 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. The range of the document that changed. The length of the range (text length) that got replaced. Gets/sets whether both and are available. The new text of the range/document. If and are omitted, the new text is considered to be the full content of the document. Descibe options to be used when registered for text document change events. Represents reasons why a text document is saved. (In textDocument/willSave.) Manually triggered, e.g. by the user pressing save, by starting debugging, or by an API call. Automatic after a delay. When the editor lost focus. Descibe options to be used when registered for text document save events. A textual edit operation applicable to a text document. The range of the text document to be manipulated. To insert text into a document create a range where start === end. The string to be inserted.For delete operations use an empty string. Describes textual changes on a single text document. The text document is referred to as a to allow clients to check the text document version before an edit is applied. The text document to change. The edits to be applied. A workspace edit represents changes to many resources managed in the workspace. The edit should either provide changes or documentChanges. If are present they are preferred over if the client can handle versioned document edits. Holds changes to existing resources. An array of `TextDocumentEdit`s to express changes to specific a specific version of a text document. Whether a client supports versioned document edits is expressed via `WorkspaceClientCapabilites.versionedWorkspaceEdit`. Provides extension methods for implementing a Language Server. Interprets any thrown by the service as RequestCancelled error per definition in Language Server Protocol. Determines whether the specified document URI indeicates an "untitled" document. The URI of an untitled document has the following structure: untitled:xxxxx. Represents the basic traits of an immutable plain-text document. Creates a new instance derived from , and fills it with the specified . A derived class of . The document source to load information from. is null. URI of the document. You may use to determine whether this document is untitled. Document's language identifier. Revision number of the document. The full content of the document. Total lines count of the document. Fills this instance with the given . Applies a series of s to the current document. Gets a part of the content by the specified line/column-based range. Gets a part of the content by the specified offset range. Converts the specified 0-based document offset into . Converts the specified into 0-based document offset. A plain-text document object that always store the full content in it. Gets all the offsets that are the starts of new lines. is null.