This test checks that unimported completion is case-insensitive.
-- go.mod --
module mod.test
go 1.18
-- main.go --
package main
//@item(Print, "Print", "func (from \"fmt\")", "func")
//@item(Printf, "Printf", "func (from \"fmt\")", "func")
//@item(Println, "Println", "func (from \"fmt\")", "func")
func main() {
fmt.p //@complete(re"fmt.p()", Print, Printf, Println), diag("fmt", re"(undefined|undeclared)")
}
-- other.go --
package main
// Including another package that imports "fmt" causes completion to use the
// existing metadata, which is the codepath leading to golang/go#60545.
import "fmt"
func _() {
fmt.Println()
}