We present our experiences extending the Language Server Protocol (LSP) to implement advanced IDE features based on Eclipse JDT Language Server in Che IDE.
LSP has revolutionized the way language awareness is delivered in code editors. However, it is highly focused on editor interactions and lacks awareness of build systems and stateful UI flows. For Eclipse Che, we have replaced many existing features with implementations based on JDT LS. We will demo features like browsing Maven dependeny jars and structural rename and explain how we designed and implemented extensions to LSP to support those features.
This is a technical talk aimed at people working with LSP (or planning to do so). We expect the audience to be familiar with the principles of LSP.