UNPKG

@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
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 };