internal/lsp: handle error from runAnalyses

Change-Id: I73062bd3b4db8f238f009b8c8f3786c39c5d0d54
Reviewed-on: https://go-review.googlesource.com/c/tools/+/173957
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
Reviewed-by: Ian Cottrell <iancottrell@google.com>
diff --git a/internal/lsp/source/diagnostics.go b/internal/lsp/source/diagnostics.go
index 67e28c1..42a4f9b 100644
--- a/internal/lsp/source/diagnostics.go
+++ b/internal/lsp/source/diagnostics.go
@@ -105,7 +105,7 @@
 	v.Logger().Debugf(ctx, "running `go vet` analyses for %s", uri)
 
 	// Type checking and parsing succeeded. Run analyses.
-	runAnalyses(ctx, v, pkg, func(a *analysis.Analyzer, diag analysis.Diagnostic) error {
+	if err := runAnalyses(ctx, v, pkg, func(a *analysis.Analyzer, diag analysis.Diagnostic) error {
 		r := span.NewRange(v.FileSet(), diag.Pos, 0)
 		s, err := r.Span()
 		if err != nil {
@@ -123,7 +123,9 @@
 			Severity: SeverityWarning,
 		})
 		return nil
-	})
+	}); err != nil {
+		return nil, err
+	}
 
 	v.Logger().Debugf(ctx, "completed reporting `go vet` analyses for %s", uri)