Language server protocol
I personally don't think it's a too bad concept.
However there are a few issues.
Communication is JSON over a pipe. That means a roundtrip through the kernel and parsing overhead.
The lang server needs to maintain a duplicate document workspace state. If you have ever tried to keep 2 non-trivial data sets in sync you know that this is not easy.