README.md
1# gopls documentation
2
3gopls (pronounced: "go please") is the official [language server] for the Go language.
4
5## Status
6
7It is currently in **alpha**, so it is **not stable**.
8
9You can see more information about the status of gopls and its supported features [here](doc/status.md).
10
11## Roadmap
12
13The current goal is a fully stable build with the existing feature set, aiming
14for the first half of 2020, with release candidates earlier in the year.
15
16This will be the first build that we recommend people use, and will be tagged as the 1.0 version.
17You can see the set of things being worked on in the [1.0 milestone], in general
18we are focused on stability, specifically, making sure we have a reliable service that produces an experience in module mode that is not a retrograde step from the old tools in GOPATH mode.
19
20There is also considerable effort being put into testing in order to make sure that we both have a stable service and also that we do not regress after launch.
21
22While we may continue to accept contributions for new features, they may be turned off behind a configuration flag if they are not yet stable. See the [gopls unplanned] milestone for deprioritized features.
23
24This is just a milestone for gopls itself. We work with editor integrators to make sure they can use the latest builds of gopls, and will help them use the 1.0 version as soon as it is ready, but that does not imply anything about the stability, supported features or version of the plugins.
25
26## Using
27
28In general you should not need to know anything about gopls, it should be integrated into your editor for you.
29
30To install for your specific editor you can follow the following instructions
31
32* [VSCode](doc/vscode.md)
33* [Vim / Neovim](doc/vim.md)
34* [Emacs](doc/emacs.md)
35* [Acme](doc/acme.md)
36* [Sublime Text](doc/subl.md)
37* [Atom](doc/atom.md)
38
39See the [user guide](doc/user.md) for more information, including the how to install gopls by hand if you need.
40
41## Issues
42
43If you are having issues with gopls, please first check the [known issues](doc/status.md#known-issues) before following the [troubleshooting](doc/troubleshooting.md#steps) guide.
44If that does not give you the information you need, reach out to us.
45
46You can chat with us on:
47* the golang-tools [mailing list]
48* the #gopls [slack channel] on the gophers slack
49
50If you think you have an issue that needs fixing, or a feature suggestion, then please make sure you follow the steps to [file an issue](doc/troubleshooting.md#file-an-issue) with the right information to allow us to address it.
51
52If you need to talk to us directly (for instance to file an issue with confidential information in it) you can reach out directly to [@stamblerre] or [@ianthehat].
53
54## More information
55
56If you want to know more about it, have an unusual use case, or want to contribute, please read the following documents
57
58* [Using gopls](doc/user.md)
59* [Troubleshooting and reporting issues](doc/troubleshooting.md)
60* [Integrating gopls with an editor](doc/integrating.md)
61* [Contributing to gopls](doc/contributing.md)
62* [Design requirements and decisions](doc/design.md)
63* [Implementation details](doc/implementation.md)
64
65[language server]: https://langserver.org
66[mailing list]: https://groups.google.com/forum/#!forum/golang-tools
67[slack channel]: https://gophers.slack.com/messages/CJZH85XCZ
68[@stamblerre]: https://github.com/stamblerre "Rebecca Stambler"
69[@ianthehat]: https://github.com/ianthehat "Ian Cottrell"
70[1.0 milestone]: https://github.com/golang/go/milestone/112
71[gopls unplanned]: https://github.com/golang/go/milestone/124
72