mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-27 03:54:24 +01:00
notebook: initial renderer communication
This commit is contained in:
@@ -65,6 +65,7 @@ import './mainThreadComments';
|
||||
import './mainThreadNotebook';
|
||||
import './mainThreadNotebookKernels';
|
||||
import './mainThreadNotebookDocumentsAndEditors';
|
||||
import './mainThreadNotebookRenderers';
|
||||
import './mainThreadTask';
|
||||
import './mainThreadLabelService';
|
||||
import './mainThreadTunnelService';
|
||||
|
||||
29
src/vs/workbench/api/browser/mainThreadNotebookRenderers.ts
Normal file
29
src/vs/workbench/api/browser/mainThreadNotebookRenderers.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { Disposable } from 'vs/base/common/lifecycle';
|
||||
import { ExtHostContext, ExtHostNotebookRenderersShape, IExtHostContext, MainContext, MainThreadNotebookRenderersShape } from 'vs/workbench/api/common/extHost.protocol';
|
||||
import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers';
|
||||
import { INotebookRendererMessagingService } from 'vs/workbench/contrib/notebook/common/notebookRendererMessagingService';
|
||||
|
||||
@extHostNamedCustomer(MainContext.MainThreadNotebookRenderers)
|
||||
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(rendererId: string, message: unknown): void {
|
||||
this.messaging.fireDidReceiveMessage(rendererId, message);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user