Make the first workspace the main one even when lazy #2268
Merged
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
We only eagerly activate the first workspace if it is a Ruby workspace. In a scenario where the Ruby workspace is not the first one in the code workspace file (see #1897 (comment)), all LSP clients will be launched lazily.
Currently, we're assigning the
mainWorkspace
flag based on whether it was eagerly loaded, but that's not accurate in that scenario. We want the main workspace to be whatever the first one is - regardless of whether it was eagerly or lazily activated.Implementation
Swapped the argument that determines the main workspace to not depend on whether it has been eagerly activated, but instead check if it is the first one we are activating.