LIGO Language Server
The team behind LIGO tasked us with improving the development and debugging experience of LIGO, which lacked language-specific features (autocomplete, go-to-definition, etc.) in most common code editors & IDEs.
We implemented a language server, which is the standard solution for introducing language-specific functionality to code editors and IDEs nowadays.
It enabled LIGO to have a better developer experience for all LIGO dialects across all the common code editors.
What is a language server?


LSP specifies how language servers communicate with different editors such as Emacs, Vim, and VSCode.
The language server provides access
to the following features:

Tech Stack
Haskell
for Web IDE and debugger
LSP in OCaml
for implementing the LSP server
Linol
for the introduction of LSP requests
Summary
We built a language server that enables code editors to have access to language-specific features when working with LIGO and ensured that the language server is supported by popular editor choices – Emacs, Vim, and VSCode.

Our Accomplishment
Developed the LIGO debugger.
Added support for error recovery in their parsers.
Introduced formal verification of the LIGO compiler.
Created a new web-based development environment (WebIDE) for LIGO.
