-
Notifications
You must be signed in to change notification settings - Fork 18.5k
Open
Labels
ToolsThis label describes issues relating to any tools in the x/tools repository.This label describes issues relating to any tools in the x/tools repository.goplsIssues related to the Go language server, gopls.Issues related to the Go language server, gopls.gopls/completionIssues related to auto-completion in gopls.Issues related to auto-completion in gopls.gopls/parsingIssues related to parsing / poor parser recovery.Issues related to parsing / poor parser recovery.
Milestone
Description
gopls version
Build info
----------
golang.org/x/tools/gopls v0.16.2
golang.org/x/tools/gopls@v0.16.2 h1:K1z03MlikHfaMTtG01cUeL5FAOTJnITuNe0TWOcg8tM=
github.com/BurntSushi/toml@v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=
github.com/google/go-cmp@v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
golang.org/x/exp/typeparams@v0.0.0-20221212164502-fae10dda9338 h1:2O2DON6y3XMJiQRAS1UWU+54aec2uopH3x7MAiqGW6Y=
golang.org/x/mod@v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0=
golang.org/x/sync@v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
golang.org/x/telemetry@v0.0.0-20240829154258-f29ab539cc98 h1:Wm3cG5X6sZ0RSVRc/H1/sciC4AT6HAKgLCSH2lbpR/c=
golang.org/x/text@v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
golang.org/x/tools@v0.22.1-0.20240829175637-39126e24d653 h1:6bJEg2w2kUHWlfdJaESYsmNfI1LKAZQi6zCa7LUn7eI=
golang.org/x/vuln@v1.0.4 h1:SP0mPeg2PmGCu03V+61EcQiOjmpri2XijexKdzv8Z1I=
honnef.co/go/tools@v0.4.7 h1:9MDAWxMoSnB6QoSqiVr7P5mtkT9pOc1kSxchzPCnqJs=
mvdan.cc/gofumpt@v0.6.0 h1:G3QvahNDmpD+Aek/bNOLrFR2XC6ZAdo62dZu65gmwGo=
mvdan.cc/xurls/v2@v2.5.0 h1:lyBNOm8Wo71UknhUs4QTFUNNMyxy2JEIaKKo0RWOh+8=
go: go1.23.0
go env
not relevantWhat did you do?
I have a text file like this, where | represents the cursor position:
package main
func main() {
foobar := []int{1, 2, 3}
if len(foo|
}
What did you see happen?
I invoked completion (the LSP action is textDocument/completion) and got zero results.
I also used the gopls rpc trace log to verify that gopls got the request and was sending back zero items, so it's not related to some editor integration issue.
What did you expect to see?
I want to see foobar as a suggested completion (probably the only one).
Here are some similar situations where foobar is the suggested completion:
package main
func main() {
foobar := []int{1, 2, 3}
foo|
}
package main
func main() {
foobar := []int{1, 2, 3}
len(foo|
}
package main
func main() {
foobar := []int{1, 2, 3}
if foo|
}
package main
func main() {
foobar := []int{1, 2, 3}
if len(foo|)
}
Editor and settings
No response
Logs
The completion trace request/response looks like this:
[Trace - 11:52:32.791 AM] Sending request 'textDocument/completion - (22)'.
Params: {"position":{"character":12,"line":8},"textDocument":{"uri":"file:\/\/\/..path elided...\/x\/x.go"}}
[Trace - 11:52:32.792 AM] Received response 'textDocument/completion - (22)' in 0ms.
Result: {"isIncomplete":true,"items":[]}
Metadata
Metadata
Assignees
Labels
ToolsThis label describes issues relating to any tools in the x/tools repository.This label describes issues relating to any tools in the x/tools repository.goplsIssues related to the Go language server, gopls.Issues related to the Go language server, gopls.gopls/completionIssues related to auto-completion in gopls.Issues related to auto-completion in gopls.gopls/parsingIssues related to parsing / poor parser recovery.Issues related to parsing / poor parser recovery.