NabLab from Eclipse to VSCode thanks to LSP & Sirius Web
Presented by Axel RICHARD (OBEO) and Benoit Lelandais (CEA) at EclipseCon 2022.
NabLab is an open-source research project led by HPC initiative of the CEA. It aims to provide a productive development way for exascale High Performance Computing technologies, flexible enough to be competitive in terms of performances. It is composed of:
a numerical analysis Domain Specific Language (DSL) to improve applied mathematicians productivity throughput and enables new algorithmic developments for the construction of hierarchical and composable high-performance scientific applications. The DSL can be used and edited through textual editors (Xtext) and visualized through graphical editor (Sirius).
a full-fledged environment to edit, interpret, debug specific numerical-analysis sources and to generate optimized code for various C++ targets. The result is an Eclipse RCP product based on the following technologies: Eclipse Sirius, EMF, Xtext, CDT and JDT.
End-users use Eclipse NabLab RCP for years now. They also use VSCode/VSCodium for their C++ developments. Based on this need, they now want to manipulate the NabLab DSL (textually and graphically) directly in VSCode/VSCodium.
In this talk you'll see the challenges of creating a VSCode extension using LSP, Xtext-LSP, and Sirius Web to manipulate the NabLab DSL (the existing one from Eclipse, not a new one!).