Use activated gem paths to register document selectors #2718
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Closes #2709
We were using the environment variable
GEM_PATH
to register the LSP client's document selector, so that people can use the Ruby LSP's features inside gem source code. Unfortunately, that won't work for shim based version managers because they don't actually set that environment variable, so we never register the document selector and navigation is unavailable.Implementation
I recommend reviewing per commit:
Gem.path
from our activation scripts. Even for shim based version managers, that method is still going to return the array of directories where gems should be installedgemPath
field to register the document selector instead of relying on the environment variableAutomated Tests
Added a new test.