Steven Silvester 8 rokov pred
rodič
commit
60610eb70d

+ 22 - 3
packages/console-extension/src/index.ts

@@ -158,11 +158,30 @@ function activateConsole(app: JupyterLab, manager: IServiceManager, rendermime:
     }
   });
 
+  let callback = (cwd: string, name: string) => {
+    return new ConsolePanel({
+      manager,
+      rendermime: rendermime.clone(),
+      contentFactory,
+      mimeTypeService: editorServices.mimeTypeService,
+      basePath: cwd,
+      kernelPreference: { name }
+    });
+  };
+
   // Add a launcher item if the launcher is available.
   if (launcher) {
-    launcher.add({
-      name: 'Code Console',
-      command: CommandIDs.create
+    manager.ready.then(() => {
+      let specs = manager.specs;
+      for (let name in specs.kernelspecs) {
+        let displayName = specs.kernelspecs[name].display_name;
+        launcher.add({
+          displayName: `${displayName} Console`,
+          name,
+          iconClass: '',
+          callback,
+        });
+      }
     });
   }
 

+ 1 - 1
packages/launcher/src/index.ts

@@ -114,7 +114,7 @@ interface ILauncherItem {
    * name of the selected launcher item and returns a promise that
    * resolves to the widget that will replace the launcher widget.
    */
-  callback: (cwd: string, name: string) => Promise<Widget>;
+  callback: (cwd: string, name: string) => Widget | Promise<Widget>;
 
   /**
    * The icon class for the launcher item.

+ 1 - 1
packages/terminal-extension/src/index.ts

@@ -137,7 +137,7 @@ function activate(app: JupyterLab, services: IServiceManager, mainMenu: IMainMen
         term.title.icon = TERMINAL_ICON_CLASS;
         term.title.label = '...';
         services.terminals.startNew();
-        return Promise.resolve(term);
+        return term;
       }
     });
   }