Skip to content

Design a convenient way to deal with progress (workDone and partial results) #748

Open
@mickaelistria

Description

@mickaelistria

I'd like to implement support for partialResults against completion in LSP4E.
As far as I understood, it requires me to generate a token, pass it to the request, send the request and then monitor both request future and start monitoring all $/progress notifications for those that have the same token. While it can be made to work, I'm not sure it's the most convenient approach.
Here are some blurry ideas to improve it in a way that would fit better LSP4E:

  1. make that the partialResult token is automatically bound to the future, so that requestFuture.getNow() would return the the current partialResult, without clients to both with it.
  2. Provide some variants APIs so that for responses that are sequences, a Queue is returned so on can plug a reactive consumer on those.

I think working on proposal 1. can already provide some value. If there is some consensus that it is a good idea to provide it, I may try to provide a patch after my holiday.
@jonahgraham @pisv @jcompagner @rgrunber WDYT?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions