Open
Description
Go version
go version go1.24.2 linux/amd64
Output of go env
in your module/workspace:
AR='ar'
CC='gcc'
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_ENABLED='1'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
CXX='g++'
GCCGO='gccgo'
GO111MODULE=''
GOAMD64='v1'
GOARCH='amd64'
GOAUTH='netrc'
GOBIN=''
GOCACHE='/home/mpanchen/.cache/go-build'
GOCACHEPROG=''
GODEBUG=''
GOENV='/home/mpanchen/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFIPS140='off'
GOFLAGS=''
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build1575410318=/tmp/go-build -gno-record-gcc-switches'
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMOD='/dev/null'
GOMODCACHE='/home/mpanchen/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/home/mpanchen/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/usr/local/go'
GOSUMDB='sum.golang.org'
GOTELEMETRY='local'
GOTELEMETRYDIR='/home/mpanchen/.config/go/telemetry'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/local/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.24.2'
GOWORK=''
PKG_CONFIG='pkg-config'
What did you do?
This issue is about gopls. The selectionRange attribute of a symbol coincides with range, but it shouldn't. This means it becomes impossible to reference a symbol (e.g., find references to it programatically) from the info retrieved through the language server, as one would need the selectionRange for it (specifically, the character).
What did you see happen?
For example, for something like this
func main() {
fmt.Println("Hello, Go!")
Helper()
}
the document_symbol
request will return a selectionRange with starting character 0.
What did you expect to see?
It should return the starting character 5 in the selection range.
Metadata
Metadata
Assignees
Labels
Issues describing a possible bug in the Go implementation.Issues describing a change to documentation.This label describes issues relating to any tools in the x/tools repository.Issue is not actionable because of missing required information, which needs to be provided.Issues related to the Go language server, gopls.