(feat) completion label detail support #1816
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 also changed the
Auto import from ...
message to the message provided by typescript. Making it consistent with VSCode's built-in typescript feature.One thing that differs from VSCode+tsserver is that tsserver has some internal APIs for caching auto-import-related info. So the source of the auto-import entry would be calculated at the completion list stage. Without the caching, it would only resolve some of it and the rest would need to be resolved at the resolve completion detail stage. Causing the label detail to be pop-in afterwards.
ours:
ts
Volar has a package for patching the internal API. We can consider adding that. It would also help #1792. I tested it with cache, the global completion can improve from 800ms to 100-200ms in one of my projects. But even if we use their package we'll still have to access the internal API for cache invalidation. Left the internal API testing branch here https://github.com/jasonlyu123/language-tools/tree/label-detail-internal for comparison.