This is an implementation of the Language Server Protocol written entirely in C# for .NET.
- git clone
- run
build.ps1
/build.sh
- ...
- Profit
We have an implementation of JSON-RPC designed to implement the JSON-RPC as correctly as possible.
For more information about using the JsonRpcServer
on it's own here.
Internally this library revolves around the request and response model. To make things easier we use MediatR as core piece that manages how requests and responses are handled.
We re-use some of the common packages used by .NET Core.
Microsoft.Extensions.Configuration
for common configurationMicrosoft.Extensions.DependencyInjection
for common Dependency Injection abstractionsMicrosoft.Extensions.Logging
for logging.
We strive to ensure that we implement all the types, request and notifications that are defined by the Language Server Protocol. Sometimes this is difficult due to the nature of LSP TypeScript upbringing, but the goal is 100% conformance with the protocol itself.
For more information about using the LanguageClient
/ LanguageServer
on it's own here.
We strive to ensure that we implement all the types, events and requests that are defined by the Debug Adapter Protocol.
For more information about using the DebugAdapterClient
/ DebugAdapterServer
on it's own here.
Azure Pipelines | GitHub Actions |
---|---|
Copyright © .NET Foundation, and contributors.
OmniSharp is provided as-is under the MIT license. For more information see LICENSE.
This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.
By signing the CLA, the community is free to use your contribution to .NET Foundation projects.
This project is supported by the .NET Foundation.