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: make jsonrpc2, lsp, span and friends non-internal #31080

Open
myitcv opened this issue Mar 27, 2019 · 6 comments

Comments

Projects
None yet
5 participants
@myitcv
Copy link
Member

commented Mar 27, 2019

Per discussion on Slack, adding a placeholder to track making the following packages non-internal once they stabilise:

golang.org/x/tools/internal/jsonrpc2
golang.org/x/tools/internal/lsp/...
golang.org/x/tools/internal/span

The use case being, people writing LSP clients in Go can then readily leverage these packages.

cc @stamblerre @ianthehat

@myitcv myitcv added the gopls label Mar 27, 2019

@gopherbot gopherbot added this to the Unreleased milestone Mar 27, 2019

@gopherbot

This comment has been minimized.

Copy link

commented Apr 9, 2019

Change https://golang.org/cl/170920 mentions this issue: tools/lsp: moved span, lsp/protocol and lsp/jsonrpc2 out of internal

@wxio

This comment has been minimized.

Copy link

commented Apr 9, 2019

Per discussion on Slack, adding a placeholder to track making the following packages non-internal once they stabilise:

How do I find the Slack channel?

@myitcv

This comment has been minimized.

Copy link
Member Author

commented Apr 9, 2019

@wxio - you don't have to join the Slack channel to participate in discussions about the LSP, I was simply noting that I had had a conversation with @ianthehat there.

More details on the various channels used for tools discussion:

https://github.com/golang/go/wiki/golang-tools

@wxio

This comment has been minimized.

Copy link

commented Apr 9, 2019

@myitcv join the slack group. Is the LSP discussion on a specific channel?

@myitcv

This comment has been minimized.

Copy link
Member Author

commented Apr 9, 2019

Per https://github.com/golang/go/wiki/golang-tools, most of the chat happens in #tools

@fhs

This comment has been minimized.

Copy link
Contributor

commented Apr 14, 2019

internal/lsp/protocol API seems to be too strict at the moment and only designed to work with gopls. For example, ServerCapabilities.renameProvider can be either bool or RenameOptions, but the protocol package expects RenameOptions. This breaks compatibility with go-langserver, which sends a bool. The current protocol package is not going to be very useful to me because I want to write a lsp client that supports all LSP servers that follow the LSP protocol.

@stamblerre stamblerre changed the title x/tools/internal: make jsonrpc2, lsp, span and friends non-internal x/tools/gopls: make jsonrpc2, lsp, span and friends non-internal Jul 2, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.