IDE development with Ruby
summary
Implemented a Ruby language server for the Steep static type checker that speaks LSP and powers a VS Code extension; single-file incremental checks finish ~0.5–1s while full rechecks after .rbs changes can take 1–3 minutes, so the server uses an open-files fast-pass to prioritize edited files and an approach to drop unrelated code to make completion millisecond-responsive. The system runs as a stdio LSP process, shares analysis across editors, and the reported tricks produce noticeably snappier diagnostics and completions in practice.
AI-written summary · about
chapters (25)
- 0:00Intro
- 2:07Soutaro Matsumoto
- 4:16IDE Powered by Steep
- 8:34Syntax Highlighting/Folding
- 9:07Diagnostics reporting
- 9:29Hover
- 9:57Navigations
- 10:31Completion
- 11:04Refactoring
- 11:31IDE Features
- 12:20Program Analyses Levels
- 16:39Extracting the analyzers?
- 17:10Language Server Protocol (LSP)
- 18:18IDE Development (revised)
- 18:58Language Servers for Ruby
- 19:59Steep Architecture
- 23:16LSP events
- 24:12Simplified Source Code
- 24:50Problem
- 25:30Responsiveness
- 26:14Incremental Type Checking
- 27:04The fast path
- 28:49Open Files First
- 30:33Drop unrelated code
- 32:44IDE Development with Ruby
related talks
40mRuby Language Server
30mImproving the development experience with language servers
22mEnjoy Ruby Programming in IDE and TypeProf
57mFuture of Developer Acceleration with Rails
28mA Rails server in your editor: Using Ruby LSP to extract runtime information
27mThe state of Ruby dev tooling
53mAn introduction to typed Ruby programming
39mGradual typing of Ruby at Scale
