Feat: Highlighter Provider Diffing #291
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.
Description
Adds the ability to add and remove highlighters after the view is initialized. This allows for highlighter objects to be lazily loaded and added to the editor by developers.
This uses the object identifier to uniquely identify highlighter objects. This has the nice side effect of if a new highlighter is provided with the same type as an old one, we'll correctly set it up.
This is required for lsp semantic highlights, as we can't load the semantic highlighter object until after the language server has loaded the document.
Adds tests for this new feature, including moving, adding, removing and random modifications.
Related Issues
Checklist
Screenshots
N/A