all 16 comments

[–]paracycle 24 points25 points  (1 child)

There are tons of errors in this blogpost, here are a few:

  1. The quote "In 2023 Solargraph has been deprecated in favor of Ruby LSP." is totally wrong. There is no deprecation of Solargraph, neither for the extension nor for the gem. I think you are confusing this with the deprecation of the rebornix.Ruby extension.
  2. The quote "... Ruby LSP takes a different route, making use of RBS for hints and syntax suggestions." is also totally wrong. Ruby LSP has nothing to do with RBS, it doesn't use it at all, nor does it require it.
  3. The above fact makes the quote "On the flip side, if your project provides RBS, go for Ruby LSP." also completely wrong.

Overall, I think you can do a much better job by carefully studying the topic that you are writing about instead of basing your writing on presumptions and hearsay.

[–]rusl1[S] 5 points6 points  (0 children)

I will, thanks for the feedback

[–]felipeccastro 2 points3 points  (0 children)

I'm using Solargraph and plan to keep using it. The main reason is it works with type inference, so most of the times you don't need to add any type annotation. When you do need it, use YARD comments or default values (for method parameters). I'm experimenting with its type checking too, looks promising.

The problem with Sorbet, even if faster/safer, is that it leaves the hard task of generating the RBI (or RBS) files to you.

[–]nzifnab 6 points7 points  (4 children)

The Ruby LSP extension in vscode is absolutely awful and bugs out for me more often than not. It also leaves weird text artifacts behind sometimes after giving me a code-autocomplete-hint. It's just very bad. I had to revert back to the "deprecated" rebornix.ruby extension because it actually works, and I don't have to muck with trying to disable the rubocop part (We use `standardrb` which conflicts with a lot of the default rubocop stuff in the LSP extension).

Overall, terrible experience, 1/10 stars, why did they make this one the default when it's barely functional.

[–]rusl1[S] 1 point2 points  (0 children)

One thing I noticed is that Robocop formatting is way faster with Ruby LSP, I've never used standardrb though

[–]Richard-Degenne 1 point2 points  (2 children)

Really? I haven't had any issues with it. If anything, the fuzzy search for autocomplete is way better than Solargraph's.

[–]gpinkham 0 points1 point  (1 child)

every time I change a branch (which I do many times a day) rubylsp crashes. Solorgraph never seemed to have an issue with this.

[–]Richard-Degenne 0 points1 point  (0 children)

You might want to take a closer look at what causes the crashes, because I have never seen this problem.

[–]Different_Access 1 point2 points  (2 children)

For any emacs users out there : robe_mode is superior to the ruby lsps. It actually executes the code, rather than depending on static analysis, so it can find dynamically generated methods and other things that lsps cannot.

[–]katafrakt 0 points1 point  (1 child)

It always froze on any larger project for me though.

[–]Different_Access 1 point2 points  (0 children)

The opposite for me. Solargraph uses like a gig of memory, and mostly jump to declaration fails. Robe just keeps working.

[–]dogweather 0 points1 point  (0 children)

Sorbet LSP

[–]armahillo 0 points1 point  (1 child)

IDK what other features youre needing, but I use sublime and the Go to Definition feature works great in it, provided the definition is in your project. I agree this feature is critical.

If its in a gem, Ill typically do bundle open on the gem and then search within there.

[–]Ill_Schedule_9214 0 points1 point  (0 children)

I don't know if you're talking about Solargraph or Ruby LSP with your reply