One thing I have difficulty understanding is that given MS is (was?) the primary proponent of LSP, and the spec was originally written with TS in mind, and VSCode has first class support for LSP, why do community projects like typescript-language-server (along with a bunch of others like the one by sourcegraph) need to exist ?
Why can't arbitrary LSP clients connect directly to tsserver (maintained by MS) ?
tsserver isn't LSP compliant, iirc they started with tsserver way before LSP was out, but since then didn't migrated to LSP. I think they didn't migrated because:
- It's a big selling point for vscode.
- It might hard to migrate what they have to LSP, they might implement a lot of non LSP standards.
- Migrate to LSP could possibly delay new features because of the rewrite in tsserver.
I think the problem is that the tsserver for historical reasons even though is quite similar, still does NOT implement the LSP protocol. That's why you need another level here.
Why can't arbitrary LSP clients connect directly to tsserver (maintained by MS) ?
[1] https://github.com/typescript-language-server/typescript-lan...