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/cmd/gopls: hover returns error when over non-identifier #32971

Closed
myitcv opened this issue Jul 8, 2019 · 1 comment
Closed

x/tools/cmd/gopls: hover returns error when over non-identifier #32971

myitcv opened this issue Jul 8, 2019 · 1 comment

Comments

@myitcv
Copy link
Member

@myitcv myitcv commented Jul 8, 2019

What version of Go are you using (go version)?

$ go version
go version devel +9a00e64633 Fri Jul 5 12:11:36 2019 +0000 linux/amd64
$ go list -m golang.org/x/tools
golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db
$ go list -m golang.org/x/tools/gopls
golang.org/x/tools/gopls v0.1.2-0.20190706070813-72ffa07ba3db

Does this issue reproduce with the latest release?

Yes

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/myitcv/.cache/go-build"
GOENV="/home/myitcv/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/myitcv/gostuff"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/myitcv/gos"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/myitcv/gos/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/myitcv/gostuff/src/github.com/myitcv/govim/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build249835069=/tmp/go-build -gno-record-gcc-switches"

What did you do?

Take the following simple example:

package main

import "fmt"

func main() {
	fmt.Println()
}

In Vim using govim, if we hover over the () of main() then we get the following response from gopls:

[Trace - 10:02:06 AM] Sending request 'textDocument/hover - (6)'.
Params: {"textDocument":{"uri":"file:///home/myitcv/gostuff/src/github.com/myitcv/playground/main.go"},"position":{"line":4,"character":10}}


[Error - 10:02:06 AM] send textDocument/hover#6 no identifier found

For the client to know this is an error that can be ignored would require it to know the structure of the document, which defeats the point of the LSP.

What did you expect to see?

In this instance I think gopls should simply report there is nothing to display, i.e. return empty string with no error.

What did you see instead?

As above.


cc @stamblerre @ianthehat

@gopherbot gopherbot added this to the Unreleased milestone Jul 8, 2019
@stamblerre
Copy link
Contributor

@stamblerre stamblerre commented Jul 8, 2019

Duplicate of #32967

@stamblerre stamblerre marked this as a duplicate of #32967 Jul 8, 2019
@stamblerre stamblerre closed this Jul 8, 2019
@golang golang locked and limited conversation to collaborators Jul 7, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.