internal/lsp/source: ignore empty package names for completion

Workspace packages seem to contain an empty package name when no
package is present, we can just ignore it since it leads to an
irrelevant completion suggestion.

Fixes golang/go#41746

Change-Id: I4820751ad0f741dd0d29b42485b41bb4c296a169
Reviewed-on: https://go-review.googlesource.com/c/tools/+/259217
Run-TryBot: Danish Dua <danishdua@google.com>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Danish Dua <danishdua@google.com>
diff --git a/internal/lsp/source/completion/completion_package.go b/internal/lsp/source/completion/completion_package.go
index a6d9feb..483223a 100644
--- a/internal/lsp/source/completion/completion_package.go
+++ b/internal/lsp/source/completion/completion_package.go
@@ -229,7 +229,7 @@
 	// support multiple package suggestions since gopls is build system agnostic.
 	var packages []candidate
 	for _, pkg := range workspacePackages {
-		if pkg.Name() == "main" {
+		if pkg.Name() == "main" || pkg.Name() == "" {
 			continue
 		}
 		if _, ok := seenPkgs[pkg.Name()]; ok {