UNPKG

@codingame/monaco-vscode-extensions-service-override

Version:

VSCode public API plugged on the monaco editor - extensions service-override

36 lines (33 loc) 1.9 kB
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js'; import { CancellationToken } from 'vscode/vscode/vs/base/common/cancellation'; import { Disposable, DisposableMap } from 'vscode/vscode/vs/base/common/lifecycle'; import { ExtHostContext, MainContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol'; import { IAiRelatedInformationService } from 'vscode/vscode/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformation.service'; import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js'; let MainThreadAiRelatedInformation = class MainThreadAiRelatedInformation extends Disposable { constructor(context, _aiRelatedInformationService) { super(); this._aiRelatedInformationService = _aiRelatedInformationService; this._registrations = this._register(( new DisposableMap())); this._proxy = ( context.getProxy(ExtHostContext.ExtHostAiRelatedInformation)); } $getAiRelatedInformation(query, types) { return this._aiRelatedInformationService.getRelatedInformation(query, types, CancellationToken.None); } $registerAiRelatedInformationProvider(handle, type) { const provider = { provideAiRelatedInformation: (query, token) => { return this._proxy.$provideAiRelatedInformation(handle, query, token); }, }; this._registrations.set(handle, this._aiRelatedInformationService.registerAiRelatedInformationProvider(type, provider)); } $unregisterAiRelatedInformationProvider(handle) { this._registrations.deleteAndDispose(handle); } }; MainThreadAiRelatedInformation = __decorate([ extHostNamedCustomer(MainContext.MainThreadAiRelatedInformation), ( __param(1, IAiRelatedInformationService)) ], MainThreadAiRelatedInformation); export { MainThreadAiRelatedInformation };