This is a proposal to implement completionItem/resolve in order to improve the speed of completions; the need to resolve documentation dynamically was confirmed by profiling in #826.
The idea is that the textDocument/completion sends only the properties which are cheap to compute (say label, sortText, insertText, etc), while documentation, detail (and any other property since LSP 3.16.0) would be only sent once the clients requests to resolve the details with the completionItem/resolve request. This improves the initial speed and gives the user all information - no compromise.
The lag for completionItem/resolve can be lower than the perception threshold (dozens of milliseconds), and the client can pre-fetch a few completionItem/resolve as soon as it gets the completion result (I implemented this in my client here).
Would any of the maintainers be interested in accepting a PR that would do that? Any design suggestions?
I am opening this issue before starting any work as I see multiple PR hanging without response. Do I understand that this repository is now maintained by volunteers and not by the palantir anymore?
This is a proposal to implement
completionItem/resolvein order to improve the speed of completions; the need to resolvedocumentationdynamically was confirmed by profiling in #826.The idea is that the
textDocument/completionsends only the properties which are cheap to compute (saylabel,sortText,insertText, etc), whiledocumentation,detail(and any other property since LSP 3.16.0) would be only sent once the clients requests to resolve the details with thecompletionItem/resolverequest. This improves the initial speed and gives the user all information - no compromise.The lag for
completionItem/resolvecan be lower than the perception threshold (dozens of milliseconds), and the client can pre-fetch a fewcompletionItem/resolveas soon as it gets the completion result (I implemented this in my client here).Would any of the maintainers be interested in accepting a PR that would do that? Any design suggestions?
I am opening this issue before starting any work as I see multiple PR hanging without response. Do I understand that this repository is now maintained by volunteers and not by the palantir anymore?