| /*--------------------------------------------------------- | |
| * Copyright 2022 The Go Authors. All rights reserved. | |
| * Licensed under the MIT License. See LICENSE in the project root for license information. | |
| *--------------------------------------------------------*/ | |
| import * as vscode from 'vscode'; | |
| import { check } from '../goCheck'; | |
| import { CommandFactory } from '.'; | |
| import { handleDiagnosticErrors } from '../util'; | |
| export const runBuilds: CommandFactory = (ctx, goCtx) => ( | |
| document: vscode.TextDocument, | |
| goConfig: vscode.WorkspaceConfiguration | |
| ) => { | |
| if (document.languageId !== 'go') { | |
| return; | |
| } | |
| const { buildDiagnosticCollection, lintDiagnosticCollection, vetDiagnosticCollection } = goCtx; | |
| buildDiagnosticCollection?.clear(); | |
| lintDiagnosticCollection?.clear(); | |
| vetDiagnosticCollection?.clear(); | |
| check(goCtx, document.uri, goConfig) | |
| .then((results) => { | |
| results.forEach((result) => { | |
| handleDiagnosticErrors(goCtx, document, result.errors, result.diagnosticCollection); | |
| }); | |
| }) | |
| .catch((err) => { | |
| vscode.window.showInformationMessage('Error: ' + err); | |
| }); | |
| }; |