make ResourceMap case preserving, even better fix for #128198, fyi @bpasero

This commit is contained in:
Johannes Rieken
2021-10-25 11:18:27 +02:00
parent 208e84ae1e
commit 1492ce2ad0
3 changed files with 40 additions and 16 deletions

View File

@@ -16,13 +16,12 @@ import { ResourceMap } from 'vs/base/common/map';
import { ExtensionIdentifier } from 'vs/platform/extensions/common/extensions';
import { IExtHostFileSystemInfo } from 'vs/workbench/api/common/extHostFileSystemInfo';
import { IExtUri } from 'vs/base/common/resources';
import { SkipList } from 'vs/base/common/skipList';
export class DiagnosticCollection implements vscode.DiagnosticCollection {
readonly #proxy: MainThreadDiagnosticsShape | undefined;
readonly #onDidChangeDiagnostics: Emitter<vscode.Uri[]>;
readonly #data: SkipList<URI, vscode.Diagnostic[]>;
readonly #data: ResourceMap<vscode.Diagnostic[]>;
private _isDisposed = false;
@@ -34,7 +33,7 @@ export class DiagnosticCollection implements vscode.DiagnosticCollection {
proxy: MainThreadDiagnosticsShape | undefined,
onDidChangeDiagnostics: Emitter<vscode.Uri[]>
) {
this.#data = new SkipList((a, b) => extUri.compare(a, b));
this.#data = new ResourceMap(uri => extUri.getComparisonKey(uri));
this.#proxy = proxy;
this.#onDidChangeDiagnostics = onDidChangeDiagnostics;
}