ProgrammingLanguages need an increasing amount of syntax-aware support for syntax colouring, and more intelligent manipulations.

A "language server" is an external server that has this knowledge and ability to manipulate source-code, independent of a particular IDE or editor.

MicroSoft is trying to standardize them via a standard protocol between editor and language server.

https://microsoft.github.io/language-server-protocol/

ClojureLanguageServer for Clojure LSP (and LS related stuff)

See also :