Just to add to Peter's response.

The issue tracking making these packages non-internal is
https://github.com/golang/go/issues/31080

FWIW, a number of people (myself included) simply clone the internal
packages for our own purposes. Here are those packages cloned, with
import paths changed:

https://github.com/myitcv/govim/tree/master/cmd/govim/internal

And here is the hacky script I used to clone those packages:

https://github.com/myitcv/govim/blob/master/_scripts/revendorToolsInternal.sh

Also, you may be interested in golang tools
(https://github.com/golang/go/wiki/golang-tools). There is a good
amount of discussion about this sort of thing in those various
channels


Paul

On Sat, 13 Jul 2019 at 16:05, 'Peter Weinberger (温博格)' via golang-nuts
<golang-nuts@googlegroups.com> wrote:
>
> I'm responsible for some of that code but other than that, I'm just giving my 
> personal opinion.  There's no fundamental reason it couldn't be public, but,
> 1. They change all the time (weekly for some of it, more slowly for 
> tsprotocol.go, which follows the Microsoft code)
> 2. They are adapted to the repository's version of gopls, and changes in 
> gopls cause changes in these files.
>
> One way to try things out is to clone the repository, and then in master, add 
> your own git project. It has access to the internal files, but you'd push and 
> pull it independently. That doesn't solve your problem, but maybe it delays 
> it.
>
> On Sat, Jul 13, 2019 at 7:43 AM <arno...@gmail.com> wrote:
>>
>> Hi there,
>>
>> I am trying to write a Go client for gopls.  Ideally I would like to be able 
>> to to import a package that defines Go types for all the messages that can 
>> be sent to / received from the server, which is something that obviously the 
>> gopls server also has to do.  Unfortunately the protocol files are not in a 
>> public package 
>> (https://github.com/golang/tools/tree/master/internal/lsp/protocol). There 
>> are instructions to generate the Go files at 
>> https://github.com/golang/tools/blob/master/internal/lsp/protocol/typescript/README.md
>>  but they require some files from that repository so that is not very useful.
>>
>> Would it make sense for this to be extracted as a public package?  If so, 
>> how would I go about achieving this?  If not, what would be a sensible 
>> approach for me?
>>
>> Regards,
>>
>> Arnaud Delobelle
>>
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "golang-nuts" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to golang-nuts+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/golang-nuts/8fdc691a-345a-4162-a6cf-2e9b5cb078ec%40googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/CAOUkXSqVC07hpiPty3Yvi3g79itOWfg%2Br2Oz96NztDA10%2BLbTA%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CACoUkn7uCcjGN8x3vOtDwDgp5VZoJQ6mj3fy%2BYW5EBXHnrZcEQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to