Regarding editor support for programming languages, the language server protocol (LSP) has evolved into a de-facto solution in recent years. Since it was invented with a strong focus on editing TypeScript in Visual Studio Code, it matured towards a supposedly general-purpose protocol for all kinds of small or big programming languages and their IDE support. In this presentation, I’ll talk about the elephant in the room and try to answer the question: Is it good enough?
If you want to learn about the limitations of language servers inherent due to the specified protocol and especially if you want to learn how to mitigate these, this is your session. We’ll dissect the protocol and analyze its strengths and shortcomings. If you’re considering building a solution based on the LSP, you better be aware of the nifty details such that you make the necessary compromises deliberately rather than accidentally.