internal/lsp/cache: fix missing pkg error on Windows

Use filepath.SplitList rather than always splitting GOPATH on ':'.

Fixes golang/go#46805

Change-Id: I27324afba96b550f75cc272b6c7f701b28825d39
Reviewed-on: https://go-review.googlesource.com/c/tools/+/328969
Trust: Robert Findley <rfindley@google.com>
Run-TryBot: Robert Findley <rfindley@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
diff --git a/internal/lsp/cache/check.go b/internal/lsp/cache/check.go
index 6bd4135..277ad8b 100644
--- a/internal/lsp/cache/check.go
+++ b/internal/lsp/cache/check.go
@@ -732,7 +732,7 @@
 
 		b.WriteString(fmt.Sprintf("cannot find package %q in any of \n\t%s (from $GOROOT)", pkgPath, gorootSrcPkg))
 
-		for _, gopath := range strings.Split(s.view.gopath, ":") {
+		for _, gopath := range filepath.SplitList(s.view.gopath) {
 			gopathSrcPkg := filepath.FromSlash(filepath.Join(gopath, "src", pkgPath))
 			b.WriteString(fmt.Sprintf("\n\t%s (from $GOPATH)", gopathSrcPkg))
 		}