3 ms·
I don’t know why the author spends so much time “debunking” the M * N argument for LSP. It seems a minor side point. It’s a bit incoherent anyway. The author’s
by jmull 5y ago
I don’t know why the author spends so much time “debunking” the M * N argument for LSP. It seems a minor side point.
It’s a bit incoherent anyway. The author’s argument seems to be that if you have language-provided pluggable language servers and editors that can host these language server plugins appropriately, then the M * N shrinks down to a small problem, without the help of LSP. Well, OK, but that’s actually the original LSP M * N argument, except with LSP replaced with something just like LSP.
- matklad 5y agoThe point is that you don’t need common protocol. A bunch of language-specific protocols would have worked! It’s interesting to ask why that didn’t happen.
- codeflo 5y agoBut in fact that did happen. Several languages started to implement “editor neutral” code analysis and refactoring. That worked, for the most popular editor/language combinations, but not as a general solution because of N*M.
- bzxcvbn 5y agoIs it really interesting? Every editor would have had to support a bunch of different protocols, instead of just one. That's back to square one.
- nerdponx 5y agoWe can and do have both. LSP is a lowest-common-denominator protocol. Several languages have more-powerful language-specific protocols that can be wrapped with LSP, at the cost of some advanced features.