←back to thread

140 points ksec | 1 comments | | HN request time: 0s | source
Show context
stevebmark ◴[] No.41084461[source]
Ruby has a lot going for it, but as other commenters point out, the metaprogramming nightmares of the language have held it back 10-30 years behind modern language ecosystems, depending on the feature you're looking at. Celebrating "jump to source definition" (sometimes working) for such a mature language is a symptom of the nature of the language. Sometimes insane dynamic freedom is really useful, but it comes with heavy drawbacks.
replies(4): >>41085027 #>>41085047 #>>41086943 #>>41092303 #
paholg ◴[] No.41092303[source]
In emacs, there's robe mode which I found to work very well. It keeps a Ruby process running with your code loaded in it.

I wonder why no one's written a Ruby LSP with this approach rather than relying on static analysis.

https://github.com/dgutov/robe

replies(1): >>41115894 #
1. grncdr ◴[] No.41115894[source]
The ruby-lsp project made by Shopify has (or had...) a rails plugin that worked this way. It adds some routes to your server during development and uses them to introspect the running process.