928PJY / LanguageServerProtocol

A library to handle Language Server Protocol. (C#)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

A library to handle Language Server Protocol. (C#)

License:MIT License


Languages

Language:C# 100.0%