@codingame/monaco-vscode-extensions-service-override
Version:
VSCode public API plugged on the monaco editor - extensions service-override
44 lines (40 loc) • 2.05 kB
JavaScript
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
import { DisposableMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
import { ExtHostContext, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
import { IQuickDiffService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/quickDiff.service';
import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
let MainThreadQuickDiff = class MainThreadQuickDiff {
constructor(extHostContext, quickDiffService) {
this.quickDiffService = quickDiffService;
this.providerDisposables = ( new DisposableMap());
this.proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostQuickDiff));
}
async $registerQuickDiffProvider(handle, selector, id, label, rootUri) {
const provider = {
id,
label,
rootUri: URI.revive(rootUri),
selector,
kind: "contributed",
getOriginalResource: async uri => {
return URI.revive(
await this.proxy.$provideOriginalResource(handle, uri, CancellationToken.None)
);
}
};
const disposable = this.quickDiffService.addQuickDiffProvider(provider);
this.providerDisposables.set(handle, disposable);
}
async $unregisterQuickDiffProvider(handle) {
if (( this.providerDisposables.has(handle))) {
this.providerDisposables.deleteAndDispose(handle);
}
}
dispose() {
this.providerDisposables.dispose();
}
};
MainThreadQuickDiff = __decorate([extHostNamedCustomer(MainContext.MainThreadQuickDiff), ( __param(1, IQuickDiffService))], MainThreadQuickDiff);
export { MainThreadQuickDiff };