@@ -259,6 +259,11 @@ declare module 'vscode' {
259259 */
260260 readonly onDidDispose : Event < void > ;
261261
262+ /**
263+ * Active kernel used in the editor
264+ */
265+ readonly kernel ?: NotebookKernel ;
266+
262267 /**
263268 * Fired when the output hosting webview posts a message.
264269 */
@@ -488,18 +493,38 @@ declare module 'vscode' {
488493 }
489494
490495 export interface NotebookKernel {
496+ readonly id ?: string ;
491497 label : string ;
498+ description ?: string ;
499+ isPreferred ?: boolean ;
492500 preloads ?: Uri [ ] ;
493501 executeCell ( document : NotebookDocument , cell : NotebookCell , token : CancellationToken ) : Promise < void > ;
494502 executeAllCells ( document : NotebookDocument , token : CancellationToken ) : Promise < void > ;
495503 }
496504
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+
497517 export namespace notebook {
498518 export function registerNotebookContentProvider (
499519 notebookType : string ,
500520 provider : NotebookContentProvider
501521 ) : Disposable ;
502522
523+ export function registerNotebookKernelProvider (
524+ selector : NotebookDocumentFilter ,
525+ provider : NotebookKernelProvider
526+ ) : Disposable ;
527+
503528 export function registerNotebookKernel (
504529 id : string ,
505530 selectors : GlobPattern [ ] ,
@@ -536,6 +561,8 @@ declare module 'vscode' {
536561 * @param selector
537562 */
538563 export function createConcatTextDocument ( notebook : NotebookDocument , selector ?: DocumentSelector ) : NotebookConcatTextDocument ;
564+
565+ export const onDidChangeActiveNotebookKernel : Event < { document : NotebookDocument , kernel : NotebookKernel | undefined } > ;
539566 }
540567
541568 //#endregion
0 commit comments