-
Notifications
You must be signed in to change notification settings - Fork 1
Ruby LSP adoption #669
Copy link
Copy link
Open
Description
One of the main goals of Rubydex is to have it be the code intelligence engine for the Ruby LSP. To make adoption gradual and allow us to find bugs, we're going to cut beta releases of the LSP as we adopt Rubydex.
The steps to fully adopt Rubydex are:
Foundation
- Add Rubydex as a dependency Add rubydex dependency ruby-lsp#3991
- Start performing initial indexing and resolution on boot Start indexing and resolving Rubydex graph ruby-lsp#3992
- Update the Ruby LSP's singleton class name representation to match Rubydex's Switch singleton class names to new style ruby-lsp#3993
- Migrate Ruby LSP's type inferrer to use Rubydex graph Migrate type inferrer to use Rubydex ruby-lsp#4014
- Start consuming incremental changes upon edit and on file watched notifications Update graph on edits ruby-lsp#4032
Features
- Go to definition Partially migrate go to definition to use Rubydex ruby-lsp#4015
- Hover Partially migrate hover to use Rubydex ruby-lsp#4029
- Signature help
- Completion
- Workspace symbol Migrate workspace symbol to use Rubydex ruby-lsp#4019
- Rename Migrate rename to use Rubydex ruby-lsp#4033
- Find references
- Type hierarchy
- Code lens (we use ancestors to detect test framework)
Add-ons
- Migrate Rails add-on to Rubydex
- Migrate Tapioca add-on to Rubydex (no-op, I think)
Documentation
- Remove type hierarchy from experimental (it should be a stable feature now)
- Review if any add-on related APIs need to be documented again
Clean up
- Remove all code related to the old indexer
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Fields
Give feedbackNo fields configured for Epic.