Language Server Protocol

E190930

The Language Server Protocol is an open standard that enables code editors and IDEs to provide language-specific features like autocompletion, go-to-definition, and refactoring through external language servers.

All labels observed (2)

Label Occurrences
Language Server Protocol canonical 10
Java (via language server) 1

How this entity was disambiguated

Statements (61)

Predicate Object
instanceOf communication protocol ⓘ
open standard ⓘ
abbreviation LSP ⓘ
category developer tools standard ⓘ
defines capabilities negotiation between client and server ⓘ
initialization and shutdown procedures for language servers ⓘ
lifecycle of text documents in the editor ⓘ
set of JSON-RPC messages between client and server ⓘ
designedFor integrating language-specific tooling into code editors and IDEs ⓘ
developedBy Codenvy ⓘ
linked to: Eclipse Che

Microsoft ⓘ
Red Hat ⓘ
documentation https://microsoft.github.io/language-server-protocol ⓘ
enablesFeature code actions ⓘ
code completion ⓘ
code lens ⓘ
diagnostics ⓘ
document formatting ⓘ
document symbols ⓘ
find references ⓘ
go to definition ⓘ
hover information ⓘ
range formatting ⓘ
rename refactoring ⓘ
semantic tokens ⓘ
signature help ⓘ
workspace symbols ⓘ
firstIntroducedBy Microsoft Visual Studio Code team ⓘ
linked to: Visual Studio Code
goal decouple language-specific tooling from editors and IDEs ⓘ
reduce duplication of language support implementations across tools ⓘ
governingBody Language Server Index Format and Protocol working group ⓘ
hostedAt GitHub ⓘ
license Creative Commons Attribution 4.0 International ⓘ
relatedTo Debug Adapter Protocol ⓘ
Language Server Index Format ⓘ
repository https://github.com/microsoft/language-server-protocol ⓘ
supportsConcept language clients ⓘ
language servers ⓘ
supportsLanguage C# ⓘ
C++ ⓘ
Go ⓘ
Java ⓘ
JavaScript ⓘ
Python ⓘ
Rust ⓘ
TypeScript ⓘ
many other programming languages ⓘ
supportsTransport TCP ⓘ
WebSocket ⓘ
linked to: WebSockets Standard

standard input and output ⓘ
usedBy Atom ⓘ
Eclipse IDE ⓘ
Emacs ⓘ
IntelliJ-based IDEs via plugins ⓘ
Neovim ⓘ
Sublime Text ⓘ
Theia ⓘ
Vim ⓘ
Visual Studio Code ⓘ
usesEncoding UTF-8 ⓘ
usesTransport JSON-RPC ⓘ

How these facts were elicited

Referenced by (11)

Full triples — surface form annotated when it differs from this entity's canonical label.

Visual Studio Code → supportsLanguageProtocol → Language Server Protocol ⓘ
OmniSharp → implementsProtocol → Language Server Protocol ⓘ
clangd → implementsProtocol → Language Server Protocol ⓘ
Eclipse Theia → supportsStandard → Language Server Protocol ⓘ
TypeScript language server → usesProtocol → Language Server Protocol ⓘ
Theia → supportsStandard → Language Server Protocol ⓘ
Theia → supportsLanguage → Java (via language server) ⓘ
linked to: Language Server Protocol
Language Server Index Format → basedOn → Language Server Protocol ⓘ
Language Server Index Format → relatedStandard → Language Server Protocol ⓘ
Pyright → implements → Language Server Protocol ⓘ