From 193e05ae4a8db5a04d24a310d39ff1967f735e5f Mon Sep 17 00:00:00 2001 From: Peter Hull Date: Tue, 22 Feb 2022 11:46:17 +0000 Subject: [PATCH] Delete diagnostics when we close a document --- src/extension.ts | 3 +++ src/jsonTmLanguageDiagnosticProvider.ts | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index 57ca28a..1343cb6 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -38,6 +38,9 @@ export function activate (context: vscode.ExtensionContext): void { vscode.workspace.onDidChangeTextDocument(event => { diagnosticProvider.CreateDiagnostics(event.document) }) + vscode.workspace.onDidCloseTextDocument(document => { + diagnosticProvider.RemoveDiagnostics(document) + }) console.log(`Extension ${context.extension.id} loaded`) } catch (err) { console.error('Failed to load tmLanguage extension due to ', err) diff --git a/src/jsonTmLanguageDiagnosticProvider.ts b/src/jsonTmLanguageDiagnosticProvider.ts index ea9e982..d2814a0 100644 --- a/src/jsonTmLanguageDiagnosticProvider.ts +++ b/src/jsonTmLanguageDiagnosticProvider.ts @@ -2,7 +2,7 @@ import * as vscode from 'vscode' import JsonTmLanguageAnalyser from './jsonTmLanguageAnalyser' export default class jsonTmLanguageDiagnosticProvider { - private readonly uuidErrors = vscode.languages.createDiagnosticCollection('languageErrors') + private readonly tmLanguageErrors = vscode.languages.createDiagnosticCollection('tmLanguageErrors') public CreateDiagnostics (document: vscode.TextDocument): void { const diagnostics: vscode.Diagnostic[] = [] @@ -42,6 +42,10 @@ export default class jsonTmLanguageDiagnosticProvider { } } - this.uuidErrors.set(document.uri, diagnostics) + this.tmLanguageErrors.set(document.uri, diagnostics) + } + + RemoveDiagnostics (document: vscode.TextDocument): void { + this.tmLanguageErrors.delete(document.uri) } }