Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/tools/gopls: show progress reporting for all commands #40634

stamblerre opened this issue Aug 7, 2020 · 5 comments

x/tools/gopls: show progress reporting for all commands #40634

stamblerre opened this issue Aug 7, 2020 · 5 comments


Copy link

@stamblerre stamblerre commented Aug 7, 2020

Right now, it's difficult to tell if a command is executing or to see if it succeeded/failure. We should add progress and error reporting for all commands.

@stamblerre stamblerre added this to the gopls/v1.0.0 milestone Aug 7, 2020
Copy link

@hasheddan hasheddan commented Aug 8, 2020

@stamblerre thanks for all of your work on gopls! I would be happy to help out on this issue

Copy link
Contributor Author

@stamblerre stamblerre commented Aug 8, 2020

Thanks @hasheddan! I actually spent a bit of time looking into this with, but it turned out to be a little more complex than I expected, so it may not be the best issue to start with (basically each command type needs its own progress reporting, which is a little unpleasant). Also, I think this needs to wait until #40527 is resolved.

However, any issue with the help wanted label is totally available. Let me know if any of those sound good to you!

Copy link

@hasheddan hasheddan commented Aug 8, 2020

Thanks for following up so quickly @stamblerre! I'll take a look 🙂

@findleyr findleyr self-assigned this Aug 10, 2020
Copy link

@gopherbot gopherbot commented Aug 18, 2020

Change mentions this issue: internal/lsp: consolidate progress reporting

gopherbot pushed a commit to golang/tools that referenced this issue Aug 21, 2020
This change contains several improvements for progress reporting:

 + Consolidate the 'progressWriter' interface into the workDone
   interface.  Now all progress reporting should use workDone, and the
   workDoneWriter struct is just an io.Writer adapter on top of
 + Factor out the pattern of progress reporting, and use for all
   asynchronous commands.
 + Make several commands that were previously synchronous async.
 + Add a test for cancellation when the WorkDone API is not supported.
 + Always report workdone progress using a detached context.
 + Update 'run tests' to use the -v option, and merge stderr and stdout,
   to increase the amount of information reported.
 + Since $/progress reporting is now always run with a detached context,
   the 'NoOutstandingWork' expectation should now behave correctly. Use
   it in a few places.

A follow-up CL will improve the messages reported on command completion.

For golang/go#40634

Change-Id: I7401ae62f7ed22d76e558ccc046e981622a64b12
Run-TryBot: Robert Findley <>
TryBot-Result: Gobot Gobot <>
Reviewed-by: Heschi Kreinick <>
Copy link

@findleyr findleyr commented Aug 21, 2020

@findleyr findleyr closed this Aug 21, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants