/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { Disposable } from 'vs/base/common/lifecycle'; import { ExtHostContext, ExtHostNotebookRenderersShape, MainThreadNotebookRenderersShape } from 'vs/workbench/api/common/extHost.protocol'; import { IExtHostContext } from 'vs/workbench/services/extensions/common/extHostCustomers'; import { INotebookRendererMessagingService } from 'vs/workbench/contrib/notebook/common/notebookRendererMessagingService'; // @extHostNamedCustomer(MainContext.MainThreadNotebookRenderers) {{SQL CARBON EDIT}} Disable VS Code notebooks export class MainThreadNotebookRenderers extends Disposable implements MainThreadNotebookRenderersShape { private readonly proxy: ExtHostNotebookRenderersShape; constructor( extHostContext: IExtHostContext, @INotebookRendererMessagingService private readonly messaging: INotebookRendererMessagingService, ) { super(); this.proxy = extHostContext.getProxy(ExtHostContext.ExtHostNotebookRenderers); this._register(messaging.onShouldPostMessage(e => { this.proxy.$postRendererMessage(e.editorId, e.rendererId, e.message); })); } $postMessage(editorId: string | undefined, rendererId: string, message: unknown): Promise { return this.messaging.receiveMessage(editorId, rendererId, message); } }