internal/lsp: fix diagnostics not clearing when creating new files
This change fixes an issue where import errors would not disappear when creating new files in a module by removing the segment of code where we check for listErrors when fixing imports.
Updates golang/go#36960
Change-Id: Iefa17edeb0417cac7e33ffa88faf7c9a607e98b3
Reviewed-on: https://go-review.googlesource.com/c/tools/+/219222
Run-TryBot: Rohan Challa <rohan@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
diff --git a/internal/lsp/source/format.go b/internal/lsp/source/format.go
index 54f6d4a..d8efad0 100644
--- a/internal/lsp/source/format.go
+++ b/internal/lsp/source/format.go
@@ -80,13 +80,10 @@
ctx, done := trace.StartSpan(ctx, "source.AllImportsFixes")
defer done()
- pkg, pgh, err := getParsedFile(ctx, snapshot, fh, NarrowestPackageHandle)
+ _, pgh, err := getParsedFile(ctx, snapshot, fh, NarrowestPackageHandle)
if err != nil {
return nil, nil, errors.Errorf("getting file for AllImportsFixes: %v", err)
}
- if hasListErrors(pkg) {
- return nil, nil, errors.Errorf("%s has list errors, not running goimports", fh.Identity().URI)
- }
err = snapshot.View().RunProcessEnvFunc(ctx, func(opts *imports.Options) error {
allFixEdits, editsPerFix, err = computeImportEdits(ctx, snapshot.View(), pgh, opts)
return err
@@ -297,15 +294,6 @@
return src[0:fset.Position(end).Offset], true
}
-func hasListErrors(pkg Package) bool {
- for _, err := range pkg.GetErrors() {
- if err.Kind == ListError {
- return true
- }
- }
- return false
-}
-
func computeTextEdits(ctx context.Context, view View, fh FileHandle, m *protocol.ColumnMapper, formatted string) ([]protocol.TextEdit, error) {
ctx, done := trace.StartSpan(ctx, "source.computeTextEdits")
defer done()