Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/copilot/src/platform/languages/common/testLanguageDiagnosticsService.ts
13401 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import type { Diagnostic, DiagnosticChangeEvent, Uri } from 'vscode';
7
import { Emitter } from '../../../util/vs/base/common/event';
8
import { ResourceMap } from '../../../util/vs/base/common/map';
9
import { AbstractLanguageDiagnosticsService } from './languageDiagnosticsService';
10
11
export class TestLanguageDiagnosticsService extends AbstractLanguageDiagnosticsService {
12
private diagnosticsMap = new ResourceMap<Diagnostic[]>();
13
private _onDidChangeDiagnostics = new Emitter<DiagnosticChangeEvent>();
14
public readonly onDidChangeDiagnostics = this._onDidChangeDiagnostics.event;
15
16
setDiagnostics(resource: Uri, diagnostics: Diagnostic[]): void {
17
this.diagnosticsMap.set(resource, diagnostics);
18
this._onDidChangeDiagnostics.fire({ uris: [resource] });
19
}
20
21
override getDiagnostics(resource: Uri): Diagnostic[] {
22
return this.diagnosticsMap.get(resource) || [];
23
}
24
25
override getAllDiagnostics(): [Uri, Diagnostic[]][] {
26
return Array.from(this.diagnosticsMap.entries());
27
}
28
}
29
30