Skip to content
This repository has been archived by the owner on Dec 22, 2021. It is now read-only.

Latest commit

 

History

History
34 lines (21 loc) · 1.78 KB

README.md

File metadata and controls

34 lines (21 loc) · 1.78 KB

LanguageServerProtocol

A library to handle Language Server Protocol.

A sample program is available at: matarillo/vscode-languageserver-csharp-example

Installation

NuGet Package is available. Run the following command in NuGet Package Manager Console.

PM> Install-Package LanguageServerProtocol

Usage

LanguageServer.Connection is available.

  • To handle messages from client to server, call connection.RequestHandlers.Set method and/or connection.NotificationHandlers.Set method to register handler methods.
  • To handle messages from server to client, call methods of LanguageServer.Client.ClientProxy, LanguageServer.Client.WindowProxy, LanguageServer.Client.WorkspaceProxy, and LanguageServer.Client.TextDocumentProxy classes via Proxy property of the connection.
  • To start listening, call Listen() method of the connection.

For your convenience, LanguageServer.ServiceConnection is also available.

  • Define a connection class derived from LanguageServer.ServiceConnection.
  • To handle messages from client to server, override virtual methods.

Versioning

This library roughly follows SemVer, but its version is not synchronized with the protocol's.

  • Major - incremented when the release has breaking changes at .NET/IL level. Note that this may occur even if parameter types and/or return types are extended while keeping backward compatibility at JS/TS level.
  • Minor - incremented when the release has new non-breaking features.
  • Patch - incremented when other than those above.