Rework capability registration and handler setup #1327
Draft
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.
This PR changes how capability registration works such that:
This should, in most cases, mean that all supported capabilities are dynamically registered once at startup. Trigger characters only change for projects where the variant separator is customizable, has been customized, and includes a character that is not already considered a trigger character (v4 does not allow customizing the variant separator but v3 did)
Fixes #1319
updateCapabilities
after a build finishes and its likely that this is/was slow enough with IntelliSense trying to handle 500 separate v3 projects at once