In process vs out of process; and language-specific binding vs JSON-RPC.
Moving stuff out of process means, increased reliability and potentially ability to share data across multiple clients.
Moving everything to LSP with two supported transports (JSON-RPC and something more native) means that editors like Emacs, vim, VSCode can benefit from tooling without needing to link against a library and work with C bindings.
Moving stuff out of process means, increased reliability and potentially ability to share data across multiple clients.
Moving everything to LSP with two supported transports (JSON-RPC and something more native) means that editors like Emacs, vim, VSCode can benefit from tooling without needing to link against a library and work with C bindings.