Description
gopls has a command-line interface that exposes many useful pieces of server functionality (e.g. show analysis diagnostics, rename an identifier) in a form that can be easily invoked from a shell script or other program. Since we no longer support the older separate CLI tools (e.g. gorename), there is a case to be made that should be a first-class interface. However, it is currently nominally "experimental".
The task of this issue is to:
(a) figure out roughly how many people use the CLI tool in its current form. Telemetry should make this easy.
(b) decide whether to publish a stable, coherent, and well-documented set of command-line operations, and, if so,
(c) build and document it.
Another possibility we should consider is whether to provide a pure LSP client (I am guessing such a thing exists) that knows nothing of gopls. This may be less work overall and may align better with standard client-side ways of doing things, though it's also possible that it's more verbose, or clunky, or just can't easily express all the things we would like it to do.