Ruby Language Server with Vinicius Stock
On this episode of Remote Ruby, Chris came down with what he thinks was food poisoning this week, Jason brings up Ghost Kitchens which seem to be a thing these days, and Chris applied to be a Guide at RailsConf 2023. Also, Jason and Chris are excited to have a guest joining them because they’ve always talked about how they wished for better tooling for day-to-day Ruby development, so they brought on Vini Stock, who’s a Senior Developer at Shopify. Shopify has created the Ruby Language Server (LSP) to make it easier to implement features such as code definition and auto formatting for Ruby across different editors. We’re so lucky to have Vini with us to discuss the Ruby LSP and some other really cool things happening in the Ruby tooling space. We hope you enjoy this episode! Hit the download button now.
[00:06:19] Vini shares his journey of programming and working with the Ruby on Rails Infrastructure team.
[00:08:27] Now that Vini is on the Ruby Infrastructure team, we find out what kind of projects he was first working on.
[00:12:04] How long has the Ruby Experience team and the LSP project been a thing?
[00:12:44] Vini explains why the Ruby LSP was created.
[00:15:25] Let’s find out some goals they want to achieve with the LSP right now.
[00:17:37] We hear some of the differences between the work Vini’s doing on Ruby LSP and something like Solargraph.
[00:19:01] Listen here as Vini details how Go To Definition works, which is a more complex feature than others.
[00:24:34] Jason asks Vini what language do you write a language server in?
[00:27:26] Chris wonders what challenges Vini runs into and what’s the next step of the problem of building the language server. Where does he go from there?
[00:31:38] Vini shares his aha moment when he built a feature and used it, and he was thinking, “Build with joy!”
[00:32:46] We hear if Vini’s using RuboCop or Syntax tree for formatting, which leads him into telling us about future plans of adding a plugin system to be able to format with standard and with Ruby format.
[00:35:56] Vini shares other ideas he has for the future of the Ruby LSP.
[00:37:11] Outside of the LSP, we hear about some other projects Shopify is working on with contributing to the new Ruby debugger, Chris expresses his appreciation for all the new tooling the team at Shopify is working on, and Jason expresses his love for the Rust tooling.
[00:42:18] Have you seen Gary Bernhardt’s talk on building an editor?
[00:46:27] If you want to try Ruby LSP, Vini tells us where to go to set up VS Code.
[00:50:29] There’s a great blog post Vini wrote, a video with his talk from RailsConf 2022, and find out where you can follow him online.
Vinicius (Vini) Stock
RubyConf 2022- Improving the development experience with language servers by Vinicius Stock (YouTube)