Skip to content
This repository has been archived by the owner on Aug 21, 2022. It is now read-only.

collaborating on golsp #13

Closed
stamblerre opened this issue Dec 3, 2018 · 18 comments
Closed

collaborating on golsp #13

stamblerre opened this issue Dec 3, 2018 · 18 comments
Assignees
Labels
question Further information is requested

Comments

@stamblerre
Copy link

Hi @saibing! I'm one of the people currently working on golang.org/x/tools/cmd/golsp. We recently noticed and were excited to see your work on bingo. Our plan for golsp is for it to become the official language server supported by the Go team, and the folks at Sourcegraph have agreed that they would eventually like to use our code once it is ready.

We noticed that a lot of the code in this repository is shared with golsp and with go-langserver, so we were wondering if you would be interested in collaborating with us on golsp. More information about golsp can be found through the various channels listed here. If you'd like to continue this conversation, I'm happy to talk on this issue or via email (rstambler@golang.org).

@saibing
Copy link
Owner

saibing commented Dec 4, 2018

@stamblerre

I am very happy to hear this news. I am also interested in collaborating with you on golsp. But I have some questions as follow:

  • How do I work with your team, and what can I do?

  • I am developing bingo in my spare time. usually on the weekend, so I can't invest full time on bingo or golsp, I don't know if it will affect the development progress of golsp.

  • I am a Chinese Gopher, I can't visit golang.org, go-review.googlesource.com at home.

my email is saibing@live.com, you can reply to me by email.

@anjmao
Copy link

anjmao commented Dec 4, 2018

@stamblerre My suggestion is to move golsp to golang/lsp or golang/golsp. That repository golang/tools is really annoying because:

  1. It's not possible to register new issues directly on tools repo.
  2. Source code is published to golang.org/x/tools/cmd/golsp. Why not just use github and github.com/golang/golsp url?
  3. How do you tag new releases and do versioning? Separate repo for golsp would allow to have github release tags.

I really like how easy it is to test bingo and rise new issues directly on this repo. Feedback loop is super fast.

@stamblerre
Copy link
Author

@saibing: Thanks for the quick response - I just sent you an email!

@anjmao: We will be sticking with the x/tools repo for the time being, as this is being worked on by members of the Go team. Issues can be surfaced on the https://github.com/golang/go repository. We will likely have to deal with versioning, but this is not yet a concern, since golsp is under active development and is not ready for release.

@seagle0128
Copy link

Hi guys,

I am so exciting seeing this conversation. My questions is if it's possible to merge to ONE REAL OFFICIAL LSP project? I was enjoying go-langserver but it's deprecated, then I found bingo, now golsp. Go developers really need a stable and fast langserver, like other languages. Appreciate your contributions, and I'd like contribute if possible.

@saibing
Copy link
Owner

saibing commented Jan 1, 2019

@seagle0128

I will invest in the development of golsp in the near future, but at present I focus on solving some problems with bingo.

@stamblerre
Copy link
Author

Our intention is for golsp to be the official Go language server implementation, supported by the Go tools team. Obviously other language servers may continue to exist, but once we officially release golsp, we will continue to actively maintain it.

@saibing saibing self-assigned this Jan 4, 2019
@saibing saibing added the question Further information is requested label Jan 4, 2019
@mbana
Copy link
Contributor

mbana commented Feb 25, 2019

@stamblerre @saibing

Some things that I think different (Go) implementations might be benefit from:

As an aside, and I don't mean this in a bad way, gopls is hard to get started with. Where are the instructions for installing it?

Do you use golsp to develop golsp?

@stamblerre
Copy link
Author

  • We are definitely going to work on integration tests for gopls, which other server implementations are welcome to use. However, it's worth noting that gopls will ultimately replace go-langserver (as discussed with the Sourcegraph folks).
  • A member of the Go team is actually currently working on automatically generating https://github.com/golang/tools/tree/master/internal/lsp/protocol from the LSP spec.
  • When gopls is more usable, I will share instructions on how to get started with it. For now, the best way to set it up is through VSCode, by using the "go.alternateTools" setting. For example:
"go.alternateTools": {
     "go-langserver": "$GOPATH/bin/gopls"
}
  • I do use gopls when developing gopls, yes.

@saibing
Copy link
Owner

saibing commented Mar 31, 2019

@stamblerre @stamblerre @imjustfly @anjmao @seagle0128

I have ported some features such as references, rename, workspace symbol, implementation of bingo to gopls.

If you want to use the enhanced version of gopls, try https://github.com/saibing/tools.

Now, Maybe I can do something for gopls. I hope that we will eventually have a unified language server: gopls.

@stamblerre
Copy link
Author

Thanks for your work, @saibing! Looking forward to collaborating.

@jan-xyz
Copy link

jan-xyz commented Apr 1, 2019

May I ask what's the best way for us in the community to follow along with the progress?

@inliquid
Copy link

inliquid commented Apr 1, 2019

Shit show.

@saibing
Copy link
Owner

saibing commented Apr 2, 2019

@jan-xyz

Now, you can try the enhanced version gopls: https://github.com/saibing/tools.

I will keep this gopls in sync with Google's official gopls until the official gopls become fully functional and stable.

@stamblerre
Copy link
Author

To add to that, updates on gopls can be found here: https://github.com/golang/go/wiki/gopls.

@webframp
Copy link

Really looking forward to the collaboration, right now gopls (and the fork) does not provide useful interaction with lsp-mode for me.

For example, compare the lsp-ui hover when usingbingo:
Screen Shot 2019-04-10 at 13 18 30

With how gopls looks:
Screen Shot 2019-04-10 at 13 20 29

@saibing
Copy link
Owner

saibing commented Apr 24, 2019

@webframp

The fork gopls has fixed it

@webframp
Copy link

Thanks @saibing!

webframp added a commit to webframp/dotfiles that referenced this issue Jul 2, 2019
According to this issue, bingo author will be contributing to gopls:
saibing/bingo#13

Built locally from this fork for now:
https://github.com/saibing/tools
webframp added a commit to webframp/dotfiles that referenced this issue Sep 5, 2019
According to this issue, bingo author will be contributing to gopls:
saibing/bingo#13

Built locally from this fork for now:
https://github.com/saibing/tools
@yzliu
Copy link

yzliu commented Nov 18, 2019

Thanks @saibing!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

9 participants