This test checks that completion considers assignability when ranking results.
-- flags --
-ignore_extra_diags
-- go.mod --
module golang.org/lsptests/assign
go 1.18
-- settings.json --
{
"completeUnimported": false
}
-- assign.go --
package assign
import "golang.org/lsptests/assign/internal/secret"
func _() {
secret.Hello()
var (
myInt int //@item(assignInt, "myInt", "int", "var")
myStr string //@item(assignStr, "myStr", "string", "var")
)
var _ string = my //@rank(" //", assignStr, assignInt)
var _ string = //@rank(" //", assignStr, assignInt)
}
func _() {
var a string = a //@complete(" //")
}
func _() {
fooBar := fooBa //@complete(" //"),item(assignFooBar, "fooBar", "", "var")
abc, fooBar := 123, fooBa //@complete(" //", assignFooBar)
{
fooBar := fooBa //@complete(" //", assignFooBar)
}
}
-- internal/secret/secret.go --
package secret
func Hello() {}