Path: blob/main/extensions/copilot/src/platform/languages/common/testLanguageDiagnosticsService.ts
13401 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import type { Diagnostic, DiagnosticChangeEvent, Uri } from 'vscode';6import { Emitter } from '../../../util/vs/base/common/event';7import { ResourceMap } from '../../../util/vs/base/common/map';8import { AbstractLanguageDiagnosticsService } from './languageDiagnosticsService';910export class TestLanguageDiagnosticsService extends AbstractLanguageDiagnosticsService {11private diagnosticsMap = new ResourceMap<Diagnostic[]>();12private _onDidChangeDiagnostics = new Emitter<DiagnosticChangeEvent>();13public readonly onDidChangeDiagnostics = this._onDidChangeDiagnostics.event;1415setDiagnostics(resource: Uri, diagnostics: Diagnostic[]): void {16this.diagnosticsMap.set(resource, diagnostics);17this._onDidChangeDiagnostics.fire({ uris: [resource] });18}1920override getDiagnostics(resource: Uri): Diagnostic[] {21return this.diagnosticsMap.get(resource) || [];22}2324override getAllDiagnostics(): [Uri, Diagnostic[]][] {25return Array.from(this.diagnosticsMap.entries());26}27}282930