From 58f9e14ddf1150ecfaa9f8df548b8d9f7861c173 Mon Sep 17 00:00:00 2001 From: Piotr Fusik Date: Tue, 26 Mar 2024 08:58:24 +0100 Subject: [PATCH] [vscode] Work around "Duplicate symbol". #64 --- editors/vscode/src/extension.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/editors/vscode/src/extension.ts b/editors/vscode/src/extension.ts index e9bf968c..ab00ed80 100644 --- a/editors/vscode/src/extension.ts +++ b/editors/vscode/src/extension.ts @@ -23,6 +23,7 @@ import { FuParser, FuProgram, FuSystem, FuSema, FuSemaHost } from "./fucheck.js" class VsCodeHost extends FuSemaHost { + #mutex = false; #system = FuSystem.new(); #diagnostics: Record = {}; #hasErrors = false; @@ -48,6 +49,9 @@ class VsCodeHost extends FuSemaHost async #process(document: vscode.TextDocument, parser: FuParser): Promise { + if (this.#mutex) + return; + this.#mutex = true; const files = await vscode.workspace.findFiles("*.fu"); this.#diagnostics = {}; this.#hasErrors = false; @@ -74,6 +78,7 @@ class VsCodeHost extends FuSemaHost sema.setHost(this); sema.process(); } + this.#mutex = false; } async updateDiagnostics(document: vscode.TextDocument, diagnosticCollection: vscode.DiagnosticCollection): Promise