Re:Rewriting the Ruby Parser
by fareesh on Tuesday June 13, 2023 @11:48AM
(#36312007)
Will this change impact Solargraph / Rubocop? They are painfully slow / unusable in their current state on large-ish projects
[ Parent
| on HN ]
The article mentions that they are building a compatibility layer around YARP that tools can use to transform its new tree format into the legacy Ripper format. They don't call out Rubocop specifically but I can't think of another OSS tool that so prominently uses the parser APIs.
rubocop uses rubocop-ast uses parser, so it will eventually make its way down to rubocop once we finish the compat layer for the parser gem.
Depends on what you mean by Solargraph, because it's kind of a large project. If you mean their typechecking, then definitely not, because it's not using a Ruby parser. If you mean the general feedback, then yeah potentially.
Rubocop yes if it ends up using YARP as a new backend.
Either way, I would suggest you check out ruby-lsp, which is definitely going to benefit from this speed, and soon.
I made a Ruby LSP because of this problem. It's not perfect but incase it's helpful for you. It can parse a large project with all of its gems in a few minutes. That data is indexed in an in-memory db with Tantivy. https://github.com/pheen/fuzzy_ruby_server