@@ -259,6 +259,11 @@ declare module 'vscode' {
259
259
*/
260
260
readonly onDidDispose : Event < void > ;
261
261
262
+ /**
263
+ * Active kernel used in the editor
264
+ */
265
+ readonly kernel ?: NotebookKernel ;
266
+
262
267
/**
263
268
* Fired when the output hosting webview posts a message.
264
269
*/
@@ -488,18 +493,38 @@ declare module 'vscode' {
488
493
}
489
494
490
495
export interface NotebookKernel {
496
+ readonly id ?: string ;
491
497
label : string ;
498
+ description ?: string ;
499
+ isPreferred ?: boolean ;
492
500
preloads ?: Uri [ ] ;
493
501
executeCell ( document : NotebookDocument , cell : NotebookCell , token : CancellationToken ) : Promise < void > ;
494
502
executeAllCells ( document : NotebookDocument , token : CancellationToken ) : Promise < void > ;
495
503
}
496
504
505
+ export interface NotebookDocumentFilter {
506
+ viewType ?: string ;
507
+ filenamePattern ?: GlobPattern ;
508
+ excludeFileNamePattern ?: GlobPattern ;
509
+ }
510
+
511
+ export interface NotebookKernelProvider < T extends NotebookKernel = NotebookKernel > {
512
+ onDidChangeKernels ?: Event < void > ;
513
+ provideKernels ( document : NotebookDocument , token : CancellationToken ) : ProviderResult < T [ ] > ;
514
+ resolveKernel ?( kernel : T , document : NotebookDocument , webview : NotebookCommunication , token : CancellationToken ) : ProviderResult < void > ;
515
+ }
516
+
497
517
export namespace notebook {
498
518
export function registerNotebookContentProvider (
499
519
notebookType : string ,
500
520
provider : NotebookContentProvider
501
521
) : Disposable ;
502
522
523
+ export function registerNotebookKernelProvider (
524
+ selector : NotebookDocumentFilter ,
525
+ provider : NotebookKernelProvider
526
+ ) : Disposable ;
527
+
503
528
export function registerNotebookKernel (
504
529
id : string ,
505
530
selectors : GlobPattern [ ] ,
@@ -536,6 +561,8 @@ declare module 'vscode' {
536
561
* @param selector
537
562
*/
538
563
export function createConcatTextDocument ( notebook : NotebookDocument , selector ?: DocumentSelector ) : NotebookConcatTextDocument ;
564
+
565
+ export const onDidChangeActiveNotebookKernel : Event < { document : NotebookDocument , kernel : NotebookKernel | undefined } > ;
539
566
}
540
567
541
568
//#endregion
0 commit comments