in src/buildifier/buildifier_diagnostics_manager.ts [41:69]
constructor() {
let didChangeTextTimer: NodeJS.Timer | null;
vscode.workspace.onDidChangeTextDocument((e) => {
if (didChangeTextTimer) {
clearTimeout(didChangeTextTimer);
}
didChangeTextTimer = setTimeout(() => {
// tslint:disable-next-line:no-floating-promises
this.updateDiagnostics(e.document);
didChangeTextTimer = null;
}, DIAGNOSTICS_ON_TYPE_DELAY_MILLIS);
});
vscode.window.onDidChangeActiveTextEditor((e) => {
if (!e) {
return;
}
// tslint:disable-next-line:no-floating-promises
this.updateDiagnostics(e.document);
});
// If there is an active window at the time the manager is created, make
// sure its diagnostics are computed.
if (vscode.window.activeTextEditor) {
// tslint:disable-next-line:no-floating-promises
this.updateDiagnostics(vscode.window.activeTextEditor.document);
}
}