{"id":13493596,"url":"https://github.com/OmniSharp/csharp-language-server-protocol","last_synced_at":"2025-03-28T12:32:04.504Z","repository":{"id":37796772,"uuid":"85151605","full_name":"OmniSharp/csharp-language-server-protocol","owner":"OmniSharp","description":"Language Server Protocol in C#","archived":false,"fork":false,"pushed_at":"2025-03-19T15:15:34.000Z","size":5970,"stargazers_count":553,"open_issues_count":92,"forks_count":106,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-03-19T20:15:38.864Z","etag":null,"topics":["csharp","dotnet","language-client","language-server","language-server-protocol","lsp"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OmniSharp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-16T04:11:01.000Z","updated_at":"2025-03-17T23:17:06.000Z","dependencies_parsed_at":"2024-01-30T23:20:16.057Z","dependency_job_id":"d872c221-b6a8-4447-91f5-d084ea19744f","html_url":"https://github.com/OmniSharp/csharp-language-server-protocol","commit_stats":{"total_commits":1160,"total_committers":37,"mean_commits":31.35135135135135,"dds":0.6198275862068965,"last_synced_commit":"7ee3469c5ff6fa82b53c94d81d28fe4d4635339e"},"previous_names":[],"tags_count":91,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OmniSharp%2Fcsharp-language-server-protocol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OmniSharp%2Fcsharp-language-server-protocol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OmniSharp%2Fcsharp-language-server-protocol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OmniSharp%2Fcsharp-language-server-protocol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OmniSharp","download_url":"https://codeload.github.com/OmniSharp/csharp-language-server-protocol/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246030580,"owners_count":20712403,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","dotnet","language-client","language-server","language-server-protocol","lsp"],"created_at":"2024-07-31T19:01:16.912Z","updated_at":"2025-03-28T12:31:59.494Z","avatar_url":"https://github.com/OmniSharp.png","language":"C#","funding_links":[],"categories":["C# #"],"sub_categories":[],"readme":"# C# Language Server Protocol\n\nThis is an implementation of the [Language Server Protocol](https://github.com/Microsoft/language-server-protocol) written entirely in C# for .NET.\n\n# Getting Started\n1. git clone\n2. run `build.ps1` / `build.sh`\n3. ...\n4. Profit\n\n# Concepts\n\n## JSON-RPC\nWe have an implementation of JSON-RPC designed to implement the [JSON-RPC](https://www.jsonrpc.org/specification) as correctly as possible.\n\nFor more information about using the `JsonRpcServer` on it's own [here](./docs/jsonrpc.md).\n\n## MediatR\nInternally this library revolves around the request and response model.  To make things easier we use [MediatR](https://github.com/jbogard/MediatR) as core piece that manages how requests and responses are handled.\n\n## Microsoft.Extensions.*\nWe re-use some of the common packages used by .NET Core.\n* `Microsoft.Extensions.Configuration` for common configuration\n* `Microsoft.Extensions.DependencyInjection` for common Dependency Injection abstractions\n* `Microsoft.Extensions.Logging` for logging.\n\n## Language Server Protocol\nWe strive to ensure that we implement all the types, request and notifications that are defined by the [Language Server Protocol](https://microsoft.github.io/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.\n\nFor more information about using the `LanguageClient` / `LanguageServer` on it's own [here](./docs/lsp.md).\n\n## Debug Adapter Protocol\nWe strive to ensure that we implement all the types, events and requests that are defined by the [Debug Adapter Protocol](https://microsoft.github.io/debug-adapter-protocol/).\n\nFor more information about using the `DebugAdapterClient` / `DebugAdapterServer` on it's own [here](./docs/dap.md).\n\n\n# Status\n\u003c!-- badges --\u003e\n[![github-release-badge]][github-release]\n[![github-license-badge]][github-license]\n[![codecov-badge]][codecov]\n\u003c!-- badges --\u003e\n\n\u003c!-- history badges --\u003e\n| Azure Pipelines | GitHub Actions |\n| --------------- | -------------- |\n| [![azurepipelines-badge]][azurepipelines] | [![github-badge]][github] |\n| [![azurepipelines-history-badge]][azurepipelines-history] | [![github-history-badge]][github] |\n\u003c!-- history badges --\u003e\n\n\u003c!-- nuget packages --\u003e\n| Package | NuGet |\n| ------- | ----- |\n| OmniSharp.Extensions.DebugAdapter | [![nuget-version-hefb6om79mfg-badge]![nuget-downloads-hefb6om79mfg-badge]][nuget-hefb6om79mfg] |\n| OmniSharp.Extensions.DebugAdapter.Client | [![nuget-version-94qjnkon/cda-badge]![nuget-downloads-94qjnkon/cda-badge]][nuget-94qjnkon/cda] |\n| OmniSharp.Extensions.DebugAdapter.Proposals | [![nuget-version-ajdnjvhbx+0w-badge]![nuget-downloads-ajdnjvhbx+0w-badge]][nuget-ajdnjvhbx+0w] |\n| OmniSharp.Extensions.DebugAdapter.Server | [![nuget-version-f/4jrt4grmdg-badge]![nuget-downloads-f/4jrt4grmdg-badge]][nuget-f/4jrt4grmdg] |\n| OmniSharp.Extensions.DebugAdapter.Shared | [![nuget-version-2fkn0yzdbhmg-badge]![nuget-downloads-2fkn0yzdbhmg-badge]][nuget-2fkn0yzdbhmg] |\n| OmniSharp.Extensions.DebugAdapter.Testing | [![nuget-version-jppuysmkpfcw-badge]![nuget-downloads-jppuysmkpfcw-badge]][nuget-jppuysmkpfcw] |\n| OmniSharp.Extensions.JsonRpc | [![nuget-version-a1bmkwyotvkg-badge]![nuget-downloads-a1bmkwyotvkg-badge]][nuget-a1bmkwyotvkg] |\n| OmniSharp.Extensions.JsonRpc.Generators | [![nuget-version-m6majhsjiw1q-badge]![nuget-downloads-m6majhsjiw1q-badge]][nuget-m6majhsjiw1q] |\n| OmniSharp.Extensions.JsonRpc.Testing | [![nuget-version-punkj7/efvjq-badge]![nuget-downloads-punkj7/efvjq-badge]][nuget-punkj7/efvjq] |\n| OmniSharp.Extensions.LanguageClient | [![nuget-version-fclou9t/p2ba-badge]![nuget-downloads-fclou9t/p2ba-badge]][nuget-fclou9t/p2ba] |\n| OmniSharp.Extensions.LanguageProtocol | [![nuget-version-vddj9t6jnirq-badge]![nuget-downloads-vddj9t6jnirq-badge]][nuget-vddj9t6jnirq] |\n| OmniSharp.Extensions.LanguageProtocol.Proposals | [![nuget-version-z5fadevkwpng-badge]![nuget-downloads-z5fadevkwpng-badge]][nuget-z5fadevkwpng] |\n| OmniSharp.Extensions.LanguageProtocol.Testing | [![nuget-version-md8c3c/bo/8g-badge]![nuget-downloads-md8c3c/bo/8g-badge]][nuget-md8c3c/bo/8g] |\n| OmniSharp.Extensions.LanguageServer | [![nuget-version-fkxlzvrmzpbw-badge]![nuget-downloads-fkxlzvrmzpbw-badge]][nuget-fkxlzvrmzpbw] |\n| OmniSharp.Extensions.LanguageServer.Shared | [![nuget-version-4htmykprzq1a-badge]![nuget-downloads-4htmykprzq1a-badge]][nuget-4htmykprzq1a] |\n\u003c!-- nuget packages --\u003e\n\n## License\n\nCopyright © .NET Foundation, and contributors.\n\nOmniSharp is provided as-is under the MIT license. For more information see [LICENSE](https://github.com/OmniSharp/omnisharp-roslyn/blob/master/license.md).\n\n## Code of Conduct\n\nThis project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/)\nto clarify expected behavior in our community.\nFor more information see the [.NET Foundation Code of Conduct](http://www.dotnetfoundation.org/code-of-conduct).\n\n## Contribution License Agreement\n\nBy signing the [CLA](https://cla.dotnetfoundation.org/OmniSharp/omnisharp-roslyn), the community is free to use your contribution to .NET Foundation projects.\n\n## .NET Foundation\n\nThis project is supported by the [.NET Foundation](http://www.dotnetfoundation.org).\n\n\u003c!-- generated references --\u003e\n[github-release]: https://github.com/OmniSharp/csharp-language-server-protocol/releases/latest\n[github-release-badge]: https://img.shields.io/github/release/OmniSharp/csharp-language-server-protocol.svg?logo=github\u0026style=flat \"Latest Release\"\n[github-license]: https://github.com/OmniSharp/csharp-language-server-protocol/blob/master/LICENSE\n[github-license-badge]: https://img.shields.io/github/license/OmniSharp/csharp-language-server-protocol.svg?style=flat \"License\"\n[codecov]: https://codecov.io/gh/OmniSharp/csharp-language-server-protocol\n[codecov-badge]: https://img.shields.io/codecov/c/github/OmniSharp/csharp-language-server-protocol.svg?color=E03997\u0026label=codecov\u0026logo=codecov\u0026logoColor=E03997\u0026style=flat \"Code Coverage\"\n[azurepipelines]: https://dev.azure.com/omnisharp/Builds/_build/latest?definitionId=1\u0026branchName=master\n[azurepipelines-badge]: https://img.shields.io/azure-devops/build/omnisharp/Builds/1.svg?color=98C6FF\u0026label=azure%20pipelines\u0026logo=azuredevops\u0026logoColor=98C6FF\u0026style=flat \"Azure Pipelines Status\"\n[azurepipelines-history]: https://dev.azure.com/omnisharp/Builds/_build?definitionId=1\u0026branchName=master\n[azurepipelines-history-badge]: https://buildstats.info/azurepipelines/chart/omnisharp/Builds/1?includeBuildsFromPullRequest=false \"Azure Pipelines History\"\n[github]: https://github.com/OmniSharp/csharp-language-server-protocol/actions?query=workflow%3Aci\n[github-badge]: https://img.shields.io/github/actions/workflow/status/OmniSharp/csharp-language-server-protocol/ci.yml?label=github\u0026logo=github\u0026color=b845fc\u0026logoColor=b845fc\u0026style=flat \"GitHub Actions Status\"\n[github-history-badge]: https://buildstats.info/github/chart/OmniSharp/csharp-language-server-protocol?includeBuildsFromPullRequest=false \"GitHub Actions History\"\n[nuget-hefb6om79mfg]: https://www.nuget.org/packages/OmniSharp.Extensions.DebugAdapter/\n[nuget-version-hefb6om79mfg-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.DebugAdapter.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Version\"\n[nuget-downloads-hefb6om79mfg-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.DebugAdapter.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Downloads\"\n[nuget-94qjnkon/cda]: https://www.nuget.org/packages/OmniSharp.Extensions.DebugAdapter.Client/\n[nuget-version-94qjnkon/cda-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.DebugAdapter.Client.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Version\"\n[nuget-downloads-94qjnkon/cda-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.DebugAdapter.Client.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Downloads\"\n[nuget-ajdnjvhbx+0w]: https://www.nuget.org/packages/OmniSharp.Extensions.DebugAdapter.Proposals/\n[nuget-version-ajdnjvhbx+0w-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.DebugAdapter.Proposals.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Version\"\n[nuget-downloads-ajdnjvhbx+0w-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.DebugAdapter.Proposals.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Downloads\"\n[nuget-f/4jrt4grmdg]: https://www.nuget.org/packages/OmniSharp.Extensions.DebugAdapter.Server/\n[nuget-version-f/4jrt4grmdg-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.DebugAdapter.Server.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Version\"\n[nuget-downloads-f/4jrt4grmdg-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.DebugAdapter.Server.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Downloads\"\n[nuget-2fkn0yzdbhmg]: https://www.nuget.org/packages/OmniSharp.Extensions.DebugAdapter.Shared/\n[nuget-version-2fkn0yzdbhmg-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.DebugAdapter.Shared.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Version\"\n[nuget-downloads-2fkn0yzdbhmg-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.DebugAdapter.Shared.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Downloads\"\n[nuget-jppuysmkpfcw]: https://www.nuget.org/packages/OmniSharp.Extensions.DebugAdapter.Testing/\n[nuget-version-jppuysmkpfcw-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.DebugAdapter.Testing.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Version\"\n[nuget-downloads-jppuysmkpfcw-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.DebugAdapter.Testing.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Downloads\"\n[nuget-a1bmkwyotvkg]: https://www.nuget.org/packages/OmniSharp.Extensions.JsonRpc/\n[nuget-version-a1bmkwyotvkg-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.JsonRpc.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Version\"\n[nuget-downloads-a1bmkwyotvkg-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.JsonRpc.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Downloads\"\n[nuget-m6majhsjiw1q]: https://www.nuget.org/packages/OmniSharp.Extensions.JsonRpc.Generators/\n[nuget-version-m6majhsjiw1q-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.JsonRpc.Generators.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Version\"\n[nuget-downloads-m6majhsjiw1q-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.JsonRpc.Generators.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Downloads\"\n[nuget-punkj7/efvjq]: https://www.nuget.org/packages/OmniSharp.Extensions.JsonRpc.Testing/\n[nuget-version-punkj7/efvjq-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.JsonRpc.Testing.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Version\"\n[nuget-downloads-punkj7/efvjq-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.JsonRpc.Testing.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Downloads\"\n[nuget-fclou9t/p2ba]: https://www.nuget.org/packages/OmniSharp.Extensions.LanguageClient/\n[nuget-version-fclou9t/p2ba-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.LanguageClient.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Version\"\n[nuget-downloads-fclou9t/p2ba-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.LanguageClient.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Downloads\"\n[nuget-vddj9t6jnirq]: https://www.nuget.org/packages/OmniSharp.Extensions.LanguageProtocol/\n[nuget-version-vddj9t6jnirq-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.LanguageProtocol.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Version\"\n[nuget-downloads-vddj9t6jnirq-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.LanguageProtocol.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Downloads\"\n[nuget-z5fadevkwpng]: https://www.nuget.org/packages/OmniSharp.Extensions.LanguageProtocol.Proposals/\n[nuget-version-z5fadevkwpng-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.LanguageProtocol.Proposals.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Version\"\n[nuget-downloads-z5fadevkwpng-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.LanguageProtocol.Proposals.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Downloads\"\n[nuget-md8c3c/bo/8g]: https://www.nuget.org/packages/OmniSharp.Extensions.LanguageProtocol.Testing/\n[nuget-version-md8c3c/bo/8g-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.LanguageProtocol.Testing.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Version\"\n[nuget-downloads-md8c3c/bo/8g-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.LanguageProtocol.Testing.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Downloads\"\n[nuget-fkxlzvrmzpbw]: https://www.nuget.org/packages/OmniSharp.Extensions.LanguageServer/\n[nuget-version-fkxlzvrmzpbw-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.LanguageServer.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Version\"\n[nuget-downloads-fkxlzvrmzpbw-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.LanguageServer.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Downloads\"\n[nuget-4htmykprzq1a]: https://www.nuget.org/packages/OmniSharp.Extensions.LanguageServer.Shared/\n[nuget-version-4htmykprzq1a-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.LanguageServer.Shared.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Version\"\n[nuget-downloads-4htmykprzq1a-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.LanguageServer.Shared.svg?color=004880\u0026logo=nuget\u0026style=flat-square \"NuGet Downloads\"\n\u003c!-- generated references --\u003e\n\n\u003c!-- nuke-data\ngithub:\n  owner: OmniSharp\n  repository: csharp-language-server-protocol\nazurepipelines:\n  account: omnisharp\n  teamproject: Builds\n  builddefinition: 1\n--\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOmniSharp%2Fcsharp-language-server-protocol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOmniSharp%2Fcsharp-language-server-protocol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOmniSharp%2Fcsharp-language-server-protocol/lists"}