Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How does this align with Ruby 3.0? #369

Closed
wagenet opened this issue Sep 29, 2020 · 8 comments
Closed

How does this align with Ruby 3.0? #369

wagenet opened this issue Sep 29, 2020 · 8 comments

Comments

@wagenet
Copy link

wagenet commented Sep 29, 2020

https://www.ruby-lang.org/en/news/2020/09/25/ruby-3-0-0-preview1-released/

@castwide
Copy link
Owner

I haven't tested with Ruby 3 yet, but here are a few considerations for the future:

  • RBS support is on the roadmap. The specifics are still up for debate. More information: Relation with Sorbet #194 (comment)
  • Parallel execution is liable to be extremely beneficial to performance. One example: when the server is loading a workspace, parsing each individual file is an orthogonal operation. Spreading those processes across multiple cores should make initialization significantly faster. It looks like this will be possible in Ruby 3 with Ractors (which seem to have replaced the previous proposal of Guilds).
  • Some of the language changes will require explicit support, but from what I've seen, many of the new features will be limited to changes in how Solargraph::Parser handles ASTs.

@castwide
Copy link
Owner

Small update: I confirmed that Solargraph passes smoke tests under Ruby 3.0.0-preview1. The specs succeed and the language server worked as expected in a short test with VS Code.

@castwide
Copy link
Owner

castwide commented Feb 7, 2021

Ruby 3 is now passing on Travis CI as well. Please feel free to open a new issue if a specific problem arises.

@castwide castwide closed this as completed Feb 7, 2021
@ddoherty03
Copy link

I tried solargraph available-cores. Any chance 3.0.0 will be added? Related: would having this result in faster startup? Is that the idea. Totally new to lsp-mode. Thanks.

@olistik
Copy link

olistik commented Jul 15, 2021

@castwide as @ddoherty03 pointed out, should we expect to see 3.0.x as a result of solargraph available-cores?
I don't want to pressure you on this, just asking if 3.0.x support requires some configurations or if it's still in the works (I'm new to this project).

λ solargraph download-core 3.0.1
Downloading docs for 3.0.1...
ERROR: Version 3.0.1 is not available from https://solargraph.org/download
Run `solargraph available-cores` for a list.

Also, the link https://solargraph.org/download returns a 404 and I'm not sure if there's such a link in the web site and if there's a better place to notify this issue (I'll gladly apply this tiny fix if possible 😃).

@castwide
Copy link
Owner

Starting with 3.0, the documentation in the Ruby source has become less complete, so generating yardocs from it is no longer reliable. The plan going forward is to generate core documentation from RBS instead. (One happy side effect of this change: downloading cores should no longer be necessary.)

In the meantime, the most recent core documentation available, 2.7.2, should work with 3.0.x. I'll post a new issue to track progress on RBS integration.

@olistik
Copy link

olistik commented Jul 15, 2021

@castwide

Starting with 3.0, the documentation in the Ruby source has become less complete [..]

That's interesting, I didn't know that. 🎩

I'll post a new issue to track progress on RBS integration.

Do you feel like the current documentation (both in the command line and in the website) could benefit from an update? I suppose other people like me could end up being a little confused. 🙂

@castwide
Copy link
Owner

It couldn't hurt. There's already a notification if you run solargraph download-core without an argument. It tells you there's no documentation available for the current version and what version it's going to use instead. I'll add a similar message if a specified version isn't available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants