Langserver.org is a community-driven site, maintained by Sourcegraph, to track development progress of LSP-compatible language servers and clients.
The Language Server protocol is used between a tool (the client) and a language smartness provider (the server) to integrate features like auto complete, go to definition, find all references and alike into the tool
– official Language Server Protocol specification
The LSP was created by Microsoft to define a common language for programming language analyzers to speak. Today, several companies have come together to support its growth, including Codenvy, Red Hat, and Sourcegraph, and the protocol is becoming supported by a rapidly growing list of editor and language communities. See below for details on and links to current client and server implementations.
LSP creates the opportunity to reduce the m-times-n complexity problem of providing a high level of support for any programming language in any editor, IDE, or client endpoint to a simpler m-plus-n problem.
For example, instead of the traditional practice of building a Python plugin for VSCode, a Python plugin for Sublime Text, a Python plugin for Vim, a Python plugin for Sourcegraph, and so on, for every language, LSP allows language communities to concentrate their efforts on a single, high performing language server that can provide code completion, hover tooltips, jump-to-definition, find-references, and more, while editor and client communities can concentrate on building a single, high performing, intuitive and idiomatic extension that can communicate with any language server to instantly provide deep language support.
Go | Java | TypeScript | ... | |
---|---|---|---|---|
Emacs | ||||
Vim | ||||
VSCode | ||||
... |
Go | |
Java | |
TypeScript | |
... |
Emacs | |
Vim | |
VSCode | |
... |
LSP is growing - fast. See tables below for the latest on adoption.
Microsoft currently maintains a parallel list of language server implementations in the core LSP repository. This site is designed to operate alongside Microsoft's list by providing more information about the capabilities of language servers and LSP clients, informing users which features to expect when they download and install a new language server and/or client, and communicating to open-source contributors where help is needed.
To be included on this list, language servers and clients must:
Implemented | |
WIP | |
Not implemented | |
Not applicable |
Langserver.org is maintained by Sourcegraph.
To suggest additions or to update the status of a project, please file issues or submit PRs on this project at github.com/langserver/langserver.github.io
Icons from Glyphicons Free, licensed under CC BY 3.0.