The Language Server Protocol (LSP) defines a standard way for code editors to communicate with language-specific tools for features like autocompletion, go-to-definition, and diagnostics.

Build your own Language Server (LSP) is available with a project breakdown on Coding Challenges.