From 75c407b110a48e993b3941971b2f718c32f8daf5 Mon Sep 17 00:00:00 2001 From: Alex Ross Date: Wed, 21 Aug 2024 16:55:36 +0200 Subject: [PATCH] Fix bug loading languages many times Part of #210475 --- .../services/treeSitter/treeSitterParserService.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/vs/editor/browser/services/treeSitter/treeSitterParserService.ts b/src/vs/editor/browser/services/treeSitter/treeSitterParserService.ts index 5433241400bcd..0065ed2daf249 100644 --- a/src/vs/editor/browser/services/treeSitter/treeSitterParserService.ts +++ b/src/vs/editor/browser/services/treeSitter/treeSitterParserService.ts @@ -252,11 +252,10 @@ export class TreeSitterLanguages extends Disposable { } private async _addLanguage(languageId: string): Promise { - let language = this._languages.getSyncIfCached(languageId); - if (!language) { - const fetchPromise = this._fetchLanguage(languageId); - this._languages.set(languageId, fetchPromise); - language = await fetchPromise; + const languagePromise = this._languages.get(languageId); + if (!languagePromise) { + this._languages.set(languageId, this._fetchLanguage(languageId)); + const language = await this._languages.get(languageId); if (!language) { return undefined; }