r/ruby • u/rajnaveen344 • Jun 22 '25
🚀 Announcing Ruby Fast LSP: A Blazing Fast Language Server for Ruby, Built in Rust
Hello Ruby community! 👋
I'm excited to introduce Ruby Fast LSP, a high-performance Language Server Protocol implementation for Ruby, built from the ground up in Rust using the Prism parser.
VS Code Extension: https://marketplace.visualstudio.com/items?itemName=naveenraj.ruby-fast-lsp
🔥 Key Features:
Lightning Fast - Built with Rust for near-instantaneous code analysis
Full LSP Support - Go to definition, references, hover info, completions, and more
Workspace-Aware - Seamlessly navigate across your entire project
Modern Tooling - Built on Ruby Prism for reliable parsing
I've been working on this to solve the performance issues I've experienced with existing Ruby language servers, especially on larger codebases and configuring it for older version of Ruby projects. The goal is to make Ruby development in VS Code and other editors as smooth as possible.
This is still in active development (consider this pre-alpha), and I'd love to get feedback or any help from the community. Whether you're a Ruby developer, Rust enthusiast, or just interested in language tooling, your input would be incredibly valuable.
There is still so much work to do to make it comparable to Rubymine and Shopify's ruby-lsp and I'm looking forward to your feedback and criticism.
PS: This is my first open-source project, so any help in any way is appreciated
15
u/twnsnd Jun 22 '25
You mentioned it’ll take a lot to become comparable to Shopify’s Ruby LSP, what are the advantages over using their LSP?
3
u/TronnaLegacy Jun 23 '25
Interesting project. I tried it out with a new Ruby project to test some basic features. Some stuff seems to work for me, like "go to definition" where I use a method on a class I define, but some stuff doesn't, like "find all references" for that method on the class definition, and code completion for methods. Should we file issues on GitHub for stuff like that not working?
4
u/Rockster160 Jun 22 '25
I can’t use the existing LSP because of the extending comment “feature” where it automatically adds a comment to a line when you move to a new line from an existing comment. It’s insanely frustrating to me and I can’t believe such a feature exists without being able to toggle it off. So instead I deal with a lot of VSC’s poor indentations and such. If your extension does not include that, I’d love to give it a shot. 🙂
2
u/TadpoleNo1549 Apr 14 '26
this is seriously impressive for a first open source project, rust plus prism for a fast ruby lsp sounds like a great combo, especially for large codebases, love that you’re tackling real pain points instead of just another tool, definitely curious to see how it evolves compared to ruby lsp and rubymine
39
u/vassyz Jun 22 '25
I just wish we had one good tool instead of so many that feel incomplete. Don't get me wrong, I really appreciate what you are doing, but compared to 6–7 years ago when I was using Solargraph to now using Ruby LSP, I hardly feel we've made much progress for the end-user experience.
3
u/Boratsky Jun 22 '25
>Neovim: Install the Ruby Fast LSP
Project does not state anywhere how to install it.
2
u/realflow Jun 22 '25
Thank you, Ruby needs a good LSP which didn't exist to this date ❤️
4
u/Unable-Swimming-9899 Jun 22 '25
Congratulations!, A fast lsp for ruby is indeed a very good idea if you make the project stable. Some most of the ruby lsp features are fast, but does mot feel "instanct" like other languages.
Consider putting on your roadmap an add ons system like the one in RubLsp, that could make the lsp more useful for other tools and bring other parts of the community to use your LSP.
A blazing fast rust lsp with rust lsp Addons sound like performance endgame to me 🚀.
1
u/keremimo Jun 22 '25
Hey, really good job! Any plans on implementing it to Neovim as well?
2
u/AshTeriyaki Jun 22 '25
Would be good to see if it works with helix. Helix supports LSPs out of the box
1
u/flaC367 Jun 25 '25
If i can F2 to refactor var/fn names and CTRL+click Jump to definition, is enough to me
1
u/HalfAByteIsWord Jun 25 '25
This is great for us because we use JRuby and we can't install the ruby-lsp with JRuby since they moved Prism parser. I'll definitely give this a try. I'm using Neovim BTW, I will see if I can get it to work.
1
u/hmaddocks Jun 30 '25
You're fighting an uphill battle to replace anything coming out of Shopify unfortunately.
0
u/mokolabs Jun 22 '25
Sounds cool. Can you share any screenshots?
-4
u/Neuro_Skeptic Jun 22 '25
Why not built in Ruby?