blob: ecc3b64ec5a9bd14574400bb8e83b54d20fafd49 [file] [log] [blame]
/*---------------------------------------------------------
* 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);
});
};