in src/buildifier/buildifier_diagnostics_manager.ts [77:106]
public async updateDiagnostics(document: vscode.TextDocument) {
if (document.languageId === "starlark") {
const warnings = await buildifierLint(
document.getText(),
getBuildifierFileType(document.uri.fsPath),
"warn",
);
this.diagnosticsCollection.set(
document.uri,
warnings.map((warning) => {
// Buildifier returns 1-based line numbers, but VS Code is 0-based.
const range = new vscode.Range(
warning.start.line - 1,
warning.start.column - 1,
warning.end.line - 1,
warning.end.column - 1,
);
const diagnostic = new vscode.Diagnostic(
range,
warning.message,
vscode.DiagnosticSeverity.Warning,
);
diagnostic.source = "buildifier";
diagnostic.code = warning.category;
return diagnostic;
}),
);
}
}