What's LSP?
It's more or less a way for standaline plugins/programs to provide language-specific functionality like autocompletions, syntax-highlighting, and diagnostic errors (like type errors) independently of a specific editor.
The idea is that standalone programs are made called language servers which can provide these features. Editors tend to communicate with them using JSON-RPC over stdin. So one can only write a language-specific parser once and integrate it with any editor.
Usually (at least in VS Code), there's a third part which is an editor-specific plugin which contains custom code to connect the editor to the language server, but this part is meant to be a thin layer.