
Improving the Developer Experience with the Ruby LSP - Shopify
2/24/2023
This post details the development of the Ruby LSP, a new language server for Ruby. It explains the motivation behind creating a new server, focusing on performance and stability for large monoliths, and its opinionated nature for Rails development. The post elaborates on how language servers work, the benefits of the LSP specification, and the technical implementation of the Ruby LSP. It covers document synchronization, parsing Ruby code using the Syntax Tree gem to generate ASTs, and analyzing these ASTs using the visitor pattern to implement features like Folding Range. The post also highlights the use of JSON for communication between the editor (client) and the language server.

