From f207b3830717f2c354ea12ead37baff21f33a680 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Fri, 4 Jun 2021 11:32:02 +0200 Subject: [PATCH] inline `NotebookExecuteHandler` type --- .vscode/searches/api-todos.code-search | 10 ---------- src/vs/vscode.d.ts | 17 ++--------------- src/vs/vscode.proposed.d.ts | 2 +- src/vs/workbench/api/common/extHost.api.impl.ts | 2 +- .../api/common/extHostNotebookKernels.ts | 4 ++-- 5 files changed, 6 insertions(+), 29 deletions(-) delete mode 100644 .vscode/searches/api-todos.code-search diff --git a/.vscode/searches/api-todos.code-search b/.vscode/searches/api-todos.code-search deleted file mode 100644 index a475292d916..00000000000 --- a/.vscode/searches/api-todos.code-search +++ /dev/null @@ -1,10 +0,0 @@ -# Query: //todo@API -# Including: */vscode.d.ts -# ContextLines: 1 - -1 result - 1 file - -src/vs/vscode.d.ts: - 11804 */ - 11805: //todo@API inline? - 11806 export interface NotebookExecuteHandler { diff --git a/src/vs/vscode.d.ts b/src/vs/vscode.d.ts index 1beab46a6dd..77b7c5465dc 100644 --- a/src/vs/vscode.d.ts +++ b/src/vs/vscode.d.ts @@ -11799,19 +11799,6 @@ declare module 'vscode' { transientDocumentMetadata?: { [key: string]: boolean | undefined }; } - /** - * A callback that is invoked by the editor whenever cell execution has been triggered. - */ - //todo@API inline? - export interface NotebookExecuteHandler { - /** - * @param cells The notebook cells to execute. - * @param notebook The notebook for which the execute handler is being called. - * @param controller The controller that the handler is attached to - */ - (cells: NotebookCell[], notebook: NotebookDocument, controller: NotebookController): void | Thenable - } - /** * Notebook controller affinity for notebook documents. * @@ -11913,7 +11900,7 @@ declare module 'vscode' { * The execute handler is invoked when the run gestures in the UI are selected, e.g Run Cell, Run All, * Run Selection etc. The execute handler is responsible for creating and managing {@link NotebookCellExecution execution}-objects. */ - executeHandler: NotebookExecuteHandler; + executeHandler: (cells: NotebookCell[], notebook: NotebookDocument, controller: NotebookController) => void | Thenable; /** * Optional interrupt handler. @@ -12151,7 +12138,7 @@ declare module 'vscode' { * @param label The label of the controller. * @param handler The execute-handler of the controller. */ - export function createNotebookController(id: string, notebookType: string, label: string, handler?: NotebookExecuteHandler): NotebookController; + export function createNotebookController(id: string, notebookType: string, label: string, handler?: (cells: NotebookCell[], notebook: NotebookDocument, controller: NotebookController) => void | Thenable): NotebookController; /** * Register a {@link NotebookCellStatusBarItemProvider cell statusbar item provider} for the given notebook type. diff --git a/src/vs/vscode.proposed.d.ts b/src/vs/vscode.proposed.d.ts index 2ce6cc641a1..12d667c74cf 100644 --- a/src/vs/vscode.proposed.d.ts +++ b/src/vs/vscode.proposed.d.ts @@ -1535,7 +1535,7 @@ declare module 'vscode' { export namespace notebooks { - export function createNotebookController(id: string, viewType: string, label: string, handler?: NotebookExecuteHandler, rendererScripts?: NotebookRendererScript[]): NotebookController; + export function createNotebookController(id: string, viewType: string, label: string, handler?: (cells: NotebookCell[], notebook: NotebookDocument, controller: NotebookController) => void | Thenable, rendererScripts?: NotebookRendererScript[]): NotebookController; /** * Creates a new messaging instance used to communicate with a specific diff --git a/src/vs/workbench/api/common/extHost.api.impl.ts b/src/vs/workbench/api/common/extHost.api.impl.ts index c8e2f72ad98..f122c7fc99e 100644 --- a/src/vs/workbench/api/common/extHost.api.impl.ts +++ b/src/vs/workbench/api/common/extHost.api.impl.ts @@ -1083,7 +1083,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I // namespace: notebook const notebooks: typeof vscode.notebooks = { - createNotebookController(id: string, notebookType: string, label: string, handler?: vscode.NotebookExecuteHandler, rendererScripts?: vscode.NotebookRendererScript[]) { + createNotebookController(id: string, notebookType: string, label: string, handler?, rendererScripts?: vscode.NotebookRendererScript[]) { return extHostNotebookKernels.createNotebookController(extension, id, notebookType, label, handler, extension.enableProposedApi ? rendererScripts : undefined); }, registerNotebookCellStatusBarItemProvider: (notebookType: string, provider: vscode.NotebookCellStatusBarItemProvider) => { diff --git a/src/vs/workbench/api/common/extHostNotebookKernels.ts b/src/vs/workbench/api/common/extHostNotebookKernels.ts index b4eb0502372..626520ce8bd 100644 --- a/src/vs/workbench/api/common/extHostNotebookKernels.ts +++ b/src/vs/workbench/api/common/extHostNotebookKernels.ts @@ -48,7 +48,7 @@ export class ExtHostNotebookKernels implements ExtHostNotebookKernelsShape { this._proxy = _mainContext.getProxy(MainContext.MainThreadNotebookKernels); } - createNotebookController(extension: IExtensionDescription, id: string, viewType: string, label: string, handler?: vscode.NotebookExecuteHandler, preloads?: vscode.NotebookRendererScript[]): vscode.NotebookController { + createNotebookController(extension: IExtensionDescription, id: string, viewType: string, label: string, handler?: (cells: vscode.NotebookCell[], notebook: vscode.NotebookDocument, controller: vscode.NotebookController) => void | Thenable, preloads?: vscode.NotebookRendererScript[]): vscode.NotebookController { for (let data of this._kernelData.values()) { if (data.controller.id === id && ExtensionIdentifier.equals(extension.identifier, data.extensionId)) { @@ -80,7 +80,7 @@ export class ExtHostNotebookKernels implements ExtHostNotebookKernelsShape { }; // - let _executeHandler: vscode.NotebookExecuteHandler = handler ?? _defaultExecutHandler; + let _executeHandler = handler ?? _defaultExecutHandler; let _interruptHandler: ((this: vscode.NotebookController, notebook: vscode.NotebookDocument) => void | Thenable) | undefined; // todo@jrieken the selector needs to be massaged