use session-unique region keys for semantic tokens #2517
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.
I've noticed an issue with semantic tokens being removed when restarting a session that doesn't provide semantic tokens, when there is also another session active that provides semantic tokens.
In this case there are both LSP-typescript and LSP-volar sessions active in the view and LSP-typescript is the one that provides semantic tokens. On restarting LSP-volar, semantic tokens disappear and don't show up until changing the document or restarting LSP-typescript:
Screen.Recording.2024-09-21.at.23.37.56.mov
I've made semantic token regions session-specific so that initializing a session doesn't overwrite existing semantic token regions.