Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ For a protocol extension the following files have to be created where ${name} is
* the extensions to the client and server capabilities.
* the actual requests and notifications.
* **client/${name}.proposed.ts**: this file contains the actual implementation of the proposed protocol for the `vscode-languageclient`. Since version 3.4.0 the client supports implementing protocol in so called features that can be registered with a client. A static feature is responsible for:
* filling in the initalize properties (`fillInitializeParams` method)
* filling in the initialize properties (`fillInitializeParams` method)
* filling in the client capabilities (`fillClientCapabilities` method)
* initalizing the feature (`initialize` method)
* initializing the feature (`initialize` method)

The client also supports adding dynamic features. A dynamic feature supports capability registration requests sent from the server to the clients. See [`client/registerCapability`](https://github.com/Microsoft/language-server-protocol/blob/master/protocol.md#client_registerCapability) and [`client/unregisterCapability`](https://github.com/Microsoft/language-server-protocol/blob/master/protocol.md#client_unregisterCapability) in the protocol.
* **server/${name}.proposed.ts**: the file contains the actual implementation of the proposed protocol for the `vscode-languageserver` node module.
Expand Down Expand Up @@ -57,7 +57,7 @@ import { ..., ProposedFeatures } from 'vscode-languageserver';
let connection = createConnection(ProposedFeatures.all);
```

If you decide to publish the protocol extension in its own repository it must contain that above files with it defined name and format. The repository also needs documentation on how to instanciate the client and server features.
If you decide to publish the protocol extension in its own repository it must contain that above files with it defined name and format. The repository also needs documentation on how to instantiate the client and server features.

## A Sample Protocol Extension

Expand Down
4 changes: 2 additions & 2 deletions versions/protocol-1-x.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ interface ResponseMessage extends Message {

interface ResponseError<D> {
/**
* A number indicating the error type that occured.
* A number indicating the error type that occurred.
*/
code: number;

Expand Down Expand Up @@ -1039,7 +1039,7 @@ interface DocumentHighlight {
*/
enum DocumentHighlightKind {
/**
* A textual occurrance.
* A textual occurrence.
*/
Text = 1,

Expand Down
4 changes: 2 additions & 2 deletions versions/protocol-2-x.md
Original file line number Diff line number Diff line change
Expand Up @@ -1177,7 +1177,7 @@ Where `MarkedString` is defined as follows:
/**
* The marked string is rendered:
* - as markdown if it is represented as a string
* - as code block of the given langauge if it is represented as a pair of a language and a value
* - as code block of the given language if it is represented as a pair of a language and a value
*
* The pair of a language and a value is an equivalent to markdown:
* ```${language}
Expand Down Expand Up @@ -1349,7 +1349,7 @@ interface DocumentHighlight {
*/
enum DocumentHighlightKind {
/**
* A textual occurrance.
* A textual occurrence.
*/
Text = 1,

Expand Down