Language Server Protocol
The Language Server Protocol (LSP) defines the protocol used between an editor or IDE and a language server that provides language features, including auto complete, go to definition and find all references.
For more details, see https://microsoft.github.io/language-server-protocol/.