completions: avoid invalidating handle_completion_resolve
#19841
+2
−2
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 accidentally pushed this branch to rust-analyzer, not a fork. Sorry about that.)
I noticed that
handle_completion_resolve
was taking a longer than I expected, especially immediately after ahandle_completion
on the same completion item. Naively, I'd expecthandle_completion_resolve
to be largely instant, as we rust-analyzer did most of the required work inhandle_completion
completion already.I did some additional digging and realized that—at least, in VS Code—the only differences between the configuration passed to
snap.analysis.completions
was in thecompletion_config
/forced_resolve_completions_config
, specifically, inCompletionFieldsToResolve
. The former hadresolve_detail
/resolve_documentation
set to true; the latter set to false.This set of changes sped up completions on some work-private projects by about ~20% or so.