constructor()

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);
    }
  }