@jupyterlab/debugger-extension 4.0.0-alpha.8 → 4.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -5,9 +5,9 @@
5
5
  * @module debugger-extension
6
6
  */
7
7
  import { ILabShell, ILayoutRestorer } from '@jupyterlab/application';
8
- import { ICommandPalette, IThemeManager, MainAreaWidget, sessionContextDialogs, WidgetTracker } from '@jupyterlab/apputils';
8
+ import { Clipboard, ICommandPalette, InputDialog, ISessionContextDialogs, IThemeManager, MainAreaWidget, SessionContextDialogs, WidgetTracker } from '@jupyterlab/apputils';
9
+ import { CodeCell } from '@jupyterlab/cells';
9
10
  import { IEditorServices } from '@jupyterlab/codeeditor';
10
- import { CodeMirrorEditor } from '@jupyterlab/codemirror';
11
11
  import { ConsolePanel, IConsoleTracker } from '@jupyterlab/console';
12
12
  import { PageConfig, PathExt } from '@jupyterlab/coreutils';
13
13
  import { Debugger, IDebugger, IDebuggerConfig, IDebuggerHandler, IDebuggerSidebar, IDebuggerSources } from '@jupyterlab/debugger';
@@ -17,7 +17,14 @@ import { ILoggerRegistry } from '@jupyterlab/logconsole';
17
17
  import { INotebookTracker, NotebookActions, NotebookPanel } from '@jupyterlab/notebook';
18
18
  import { standardRendererFactories as initialFactories, IRenderMimeRegistry, RenderMimeRegistry } from '@jupyterlab/rendermime';
19
19
  import { ISettingRegistry } from '@jupyterlab/settingregistry';
20
- import { ITranslator } from '@jupyterlab/translation';
20
+ import { ITranslator, nullTranslator } from '@jupyterlab/translation';
21
+ function notifyCommands(app) {
22
+ Object.values(Debugger.CommandIDs).forEach(command => {
23
+ if (app.commands.hasCommand(command)) {
24
+ app.commands.notifyCommandChanged(command);
25
+ }
26
+ });
27
+ }
21
28
  /**
22
29
  * A plugin that provides visual debugging support for consoles.
23
30
  */
@@ -36,23 +43,23 @@ const consoles = {
36
43
  const { sessionContext } = widget;
37
44
  await sessionContext.ready;
38
45
  await handler.updateContext(widget, sessionContext);
39
- app.commands.notifyCommandChanged();
46
+ notifyCommands(app);
40
47
  };
41
48
  if (labShell) {
42
- labShell.currentChanged.connect(async (_, update) => {
49
+ labShell.currentChanged.connect((_, update) => {
43
50
  const widget = update.newValue;
44
- if (!(widget instanceof ConsolePanel)) {
45
- return;
51
+ if (widget instanceof ConsolePanel) {
52
+ void updateHandlerAndCommands(widget);
53
+ }
54
+ });
55
+ }
56
+ else {
57
+ consoleTracker.currentChanged.connect((_, consolePanel) => {
58
+ if (consolePanel) {
59
+ void updateHandlerAndCommands(consolePanel);
46
60
  }
47
- await updateHandlerAndCommands(widget);
48
61
  });
49
- return;
50
62
  }
51
- consoleTracker.currentChanged.connect(async (_, consolePanel) => {
52
- if (consolePanel) {
53
- void updateHandlerAndCommands(consolePanel);
54
- }
55
- });
56
63
  }
57
64
  };
58
65
  /**
@@ -87,28 +94,30 @@ const files = {
87
94
  activeSessions[model.id] = session;
88
95
  }
89
96
  await handler.update(widget, session);
90
- app.commands.notifyCommandChanged();
97
+ notifyCommands(app);
91
98
  }
92
99
  catch (_a) {
93
100
  return;
94
101
  }
95
102
  };
96
103
  if (labShell) {
97
- labShell.currentChanged.connect(async (_, update) => {
104
+ labShell.currentChanged.connect((_, update) => {
98
105
  const widget = update.newValue;
99
- if (!(widget instanceof DocumentWidget)) {
100
- return;
106
+ if (widget instanceof DocumentWidget) {
107
+ const { content } = widget;
108
+ if (content instanceof FileEditor) {
109
+ void updateHandlerAndCommands(widget);
110
+ }
101
111
  }
102
- const content = widget.content;
103
- if (!(content instanceof FileEditor)) {
104
- return;
112
+ });
113
+ }
114
+ else {
115
+ editorTracker.currentChanged.connect((_, documentWidget) => {
116
+ if (documentWidget) {
117
+ void updateHandlerAndCommands(documentWidget);
105
118
  }
106
- await updateHandlerAndCommands(widget);
107
119
  });
108
120
  }
109
- editorTracker.currentChanged.connect(async (_, documentWidget) => {
110
- await updateHandlerAndCommands(documentWidget);
111
- });
112
121
  }
113
122
  };
114
123
  /**
@@ -117,10 +126,12 @@ const files = {
117
126
  const notebooks = {
118
127
  id: '@jupyterlab/debugger-extension:notebooks',
119
128
  autoStart: true,
120
- requires: [IDebugger, INotebookTracker, ITranslator],
121
- optional: [ILabShell, ICommandPalette],
129
+ requires: [IDebugger, INotebookTracker],
130
+ optional: [ILabShell, ICommandPalette, ISessionContextDialogs, ITranslator],
122
131
  provides: IDebuggerHandler,
123
- activate: (app, service, notebookTracker, translator, labShell, palette) => {
132
+ activate: (app, service, notebookTracker, labShell, palette, sessionDialogs_, translator_) => {
133
+ const translator = translator_ !== null && translator_ !== void 0 ? translator_ : nullTranslator;
134
+ const sessionDialogs = sessionDialogs_ !== null && sessionDialogs_ !== void 0 ? sessionDialogs_ : new SessionContextDialogs({ translator });
124
135
  const handler = new Debugger.Handler({
125
136
  type: 'notebook',
126
137
  shell: app.shell,
@@ -130,40 +141,45 @@ const notebooks = {
130
141
  app.commands.addCommand(Debugger.CommandIDs.restartDebug, {
131
142
  label: trans.__('Restart Kernel and Debug…'),
132
143
  caption: trans.__('Restart Kernel and Debug…'),
133
- isEnabled: () => {
134
- return service.isStarted;
135
- },
144
+ isEnabled: () => service.isStarted,
136
145
  execute: async () => {
137
146
  const state = service.getDebuggerState();
138
- console.log(state.cells);
139
- const { context, content } = notebookTracker.currentWidget;
140
147
  await service.stop();
141
- const restarted = await sessionContextDialogs.restart(context.sessionContext);
142
- if (restarted) {
143
- await service.restoreDebuggerState(state);
144
- await handler.updateWidget(notebookTracker.currentWidget, notebookTracker.currentWidget.sessionContext.session);
145
- await NotebookActions.runAll(content, context.sessionContext);
148
+ const widget = notebookTracker.currentWidget;
149
+ if (!widget) {
150
+ return;
151
+ }
152
+ const { content, sessionContext } = widget;
153
+ const restarted = await sessionDialogs.restart(sessionContext);
154
+ if (!restarted) {
155
+ return;
146
156
  }
157
+ await service.restoreDebuggerState(state);
158
+ await handler.updateWidget(widget, sessionContext.session);
159
+ await NotebookActions.runAll(content, sessionContext, sessionDialogs, translator);
147
160
  }
148
161
  });
149
162
  const updateHandlerAndCommands = async (widget) => {
150
- const { sessionContext } = widget;
151
- await sessionContext.ready;
152
- await handler.updateContext(widget, sessionContext);
153
- app.commands.notifyCommandChanged();
163
+ if (widget) {
164
+ const { sessionContext } = widget;
165
+ await sessionContext.ready;
166
+ await handler.updateContext(widget, sessionContext);
167
+ }
168
+ notifyCommands(app);
154
169
  };
155
170
  if (labShell) {
156
- labShell.currentChanged.connect(async (_, update) => {
171
+ labShell.currentChanged.connect((_, update) => {
157
172
  const widget = update.newValue;
158
- if (!(widget instanceof NotebookPanel)) {
159
- return;
173
+ if (widget instanceof NotebookPanel) {
174
+ void updateHandlerAndCommands(widget);
160
175
  }
161
- await updateHandlerAndCommands(widget);
162
176
  });
163
177
  }
164
178
  else {
165
- notebookTracker.currentChanged.connect(async (_, notebookPanel) => {
166
- await updateHandlerAndCommands(notebookPanel);
179
+ notebookTracker.currentChanged.connect((_, notebookPanel) => {
180
+ if (notebookPanel) {
181
+ void updateHandlerAndCommands(notebookPanel);
182
+ }
167
183
  });
168
184
  }
169
185
  if (palette) {
@@ -172,9 +188,6 @@ const notebooks = {
172
188
  command: Debugger.CommandIDs.restartDebug
173
189
  });
174
190
  }
175
- notebookTracker.currentChanged.connect(async (_, notebookPanel) => {
176
- await updateHandlerAndCommands(notebookPanel);
177
- });
178
191
  return handler;
179
192
  }
180
193
  };
@@ -248,7 +261,7 @@ const variables = {
248
261
  isEnabled: args => {
249
262
  var _a, _b, _c, _d;
250
263
  return !!((_a = service.session) === null || _a === void 0 ? void 0 : _a.isStarted) &&
251
- ((_d = (_b = args.variableReference) !== null && _b !== void 0 ? _b : (_c = service.model.variables.selectedVariable) === null || _c === void 0 ? void 0 : _c.variablesReference) !== null && _d !== void 0 ? _d : 0) > 0;
264
+ Number((_d = (_b = args.variableReference) !== null && _b !== void 0 ? _b : (_c = service.model.variables.selectedVariable) === null || _c === void 0 ? void 0 : _c.variablesReference) !== null && _d !== void 0 ? _d : 0) > 0;
252
265
  },
253
266
  execute: async (args) => {
254
267
  var _a, _b, _c, _d;
@@ -291,7 +304,8 @@ const variables = {
291
304
  model.changed.connect(disposeWidget);
292
305
  shell.add(widget, 'main', {
293
306
  mode: tracker.currentWidget ? 'split-right' : 'split-bottom',
294
- activate: false
307
+ activate: false,
308
+ type: 'Debugger Variables'
295
309
  });
296
310
  }
297
311
  });
@@ -344,7 +358,7 @@ const variables = {
344
358
  const refreshWidget = () => {
345
359
  // Refresh the widget only if the active element is the same.
346
360
  if (handler.activeWidget === activeWidget) {
347
- widget.refresh();
361
+ void widget.refresh();
348
362
  }
349
363
  };
350
364
  widget.disposed.connect(disposeWidget);
@@ -352,10 +366,27 @@ const variables = {
352
366
  activeWidget === null || activeWidget === void 0 ? void 0 : activeWidget.disposed.connect(disposeWidget);
353
367
  shell.add(widget, 'main', {
354
368
  mode: trackerMime.currentWidget ? 'split-right' : 'split-bottom',
355
- activate: false
369
+ activate: false,
370
+ type: 'Debugger Variables'
356
371
  });
357
372
  }
358
373
  });
374
+ commands.addCommand(CommandIDs.copyToClipboard, {
375
+ label: trans.__('Copy to Clipboard'),
376
+ caption: trans.__('Copy text representation of the value to clipboard'),
377
+ isEnabled: () => {
378
+ var _a, _b;
379
+ return (!!((_a = service.session) === null || _a === void 0 ? void 0 : _a.isStarted) &&
380
+ !!((_b = service.model.variables.selectedVariable) === null || _b === void 0 ? void 0 : _b.value));
381
+ },
382
+ isVisible: () => handler.activeWidget instanceof NotebookPanel,
383
+ execute: async () => {
384
+ const value = service.model.variables.selectedVariable.value;
385
+ if (value) {
386
+ Clipboard.copyToSystem(value);
387
+ }
388
+ }
389
+ });
359
390
  }
360
391
  };
361
392
  /**
@@ -381,7 +412,7 @@ const sidebar = {
381
412
  };
382
413
  const breakpointsCommands = {
383
414
  registry: commands,
384
- pause: CommandIDs.pause
415
+ pauseOnExceptions: CommandIDs.pauseOnExceptions
385
416
  };
386
417
  const sidebar = new Debugger.Sidebar({
387
418
  service,
@@ -422,10 +453,11 @@ const main = {
422
453
  IDebuggerSources,
423
454
  ILabShell,
424
455
  ILayoutRestorer,
425
- ILoggerRegistry
456
+ ILoggerRegistry,
457
+ ISettingRegistry
426
458
  ],
427
459
  autoStart: true,
428
- activate: async (app, service, sidebar, editorServices, translator, palette, debuggerSources, labShell, restorer, loggerRegistry) => {
460
+ activate: async (app, service, sidebar, editorServices, translator, palette, debuggerSources, labShell, restorer, loggerRegistry, settingRegistry) => {
429
461
  var _a;
430
462
  const trans = translator.load('jupyterlab');
431
463
  const { commands, shell, serviceManager } = app;
@@ -455,7 +487,7 @@ const main = {
455
487
  }
456
488
  const info = (await kernel.info).language_info;
457
489
  const name = info.name;
458
- const mimeType = (_c = editorServices === null || editorServices === void 0 ? void 0 : editorServices.mimeTypeService.getMimeTypeByLanguage({ name })) !== null && _c !== void 0 ? _c : '';
490
+ const mimeType = (_c = editorServices.mimeTypeService.getMimeTypeByLanguage({ name })) !== null && _c !== void 0 ? _c : '';
459
491
  return mimeType;
460
492
  };
461
493
  const rendermime = new RenderMimeRegistry({ initialFactories });
@@ -463,9 +495,7 @@ const main = {
463
495
  label: trans.__('Evaluate Code'),
464
496
  caption: trans.__('Evaluate Code'),
465
497
  icon: Debugger.Icons.evaluateIcon,
466
- isEnabled: () => {
467
- return service.hasStoppedThreads();
468
- },
498
+ isEnabled: () => service.hasStoppedThreads(),
469
499
  execute: async () => {
470
500
  var _a, _b, _c;
471
501
  const mimeType = await getMimeType();
@@ -474,6 +504,9 @@ const main = {
474
504
  okLabel: trans.__('Evaluate'),
475
505
  cancelLabel: trans.__('Cancel'),
476
506
  mimeType,
507
+ contentFactory: new CodeCell.ContentFactory({
508
+ editorFactory: options => editorServices.factoryService.newInlineEditor(options)
509
+ }),
477
510
  rendermime
478
511
  });
479
512
  const code = result.value;
@@ -497,36 +530,47 @@ const main = {
497
530
  }
498
531
  });
499
532
  commands.addCommand(CommandIDs.debugContinue, {
500
- label: trans.__('Continue'),
501
- caption: trans.__('Continue'),
502
- icon: Debugger.Icons.continueIcon,
503
- isEnabled: () => {
504
- return service.hasStoppedThreads();
533
+ label: () => {
534
+ return service.hasStoppedThreads()
535
+ ? trans.__('Continue')
536
+ : trans.__('Pause');
537
+ },
538
+ caption: () => {
539
+ return service.hasStoppedThreads()
540
+ ? trans.__('Continue')
541
+ : trans.__('Pause');
542
+ },
543
+ icon: () => {
544
+ return service.hasStoppedThreads()
545
+ ? Debugger.Icons.continueIcon
546
+ : Debugger.Icons.pauseIcon;
505
547
  },
548
+ isEnabled: () => { var _a, _b; return (_b = (_a = service.session) === null || _a === void 0 ? void 0 : _a.isStarted) !== null && _b !== void 0 ? _b : false; },
506
549
  execute: async () => {
507
- await service.continue();
508
- commands.notifyCommandChanged();
550
+ if (service.hasStoppedThreads()) {
551
+ await service.continue();
552
+ }
553
+ else {
554
+ await service.pause();
555
+ }
556
+ commands.notifyCommandChanged(CommandIDs.debugContinue);
509
557
  }
510
558
  });
511
559
  commands.addCommand(CommandIDs.terminate, {
512
560
  label: trans.__('Terminate'),
513
561
  caption: trans.__('Terminate'),
514
562
  icon: Debugger.Icons.terminateIcon,
515
- isEnabled: () => {
516
- return service.hasStoppedThreads();
517
- },
563
+ isEnabled: () => service.hasStoppedThreads(),
518
564
  execute: async () => {
519
565
  await service.restart();
520
- commands.notifyCommandChanged();
566
+ notifyCommands(app);
521
567
  }
522
568
  });
523
569
  commands.addCommand(CommandIDs.next, {
524
570
  label: trans.__('Next'),
525
571
  caption: trans.__('Next'),
526
572
  icon: Debugger.Icons.stepOverIcon,
527
- isEnabled: () => {
528
- return service.hasStoppedThreads();
529
- },
573
+ isEnabled: () => service.hasStoppedThreads(),
530
574
  execute: async () => {
531
575
  await service.next();
532
576
  }
@@ -535,9 +579,7 @@ const main = {
535
579
  label: trans.__('Step In'),
536
580
  caption: trans.__('Step In'),
537
581
  icon: Debugger.Icons.stepIntoIcon,
538
- isEnabled: () => {
539
- return service.hasStoppedThreads();
540
- },
582
+ isEnabled: () => service.hasStoppedThreads(),
541
583
  execute: async () => {
542
584
  await service.stepIn();
543
585
  }
@@ -546,50 +588,71 @@ const main = {
546
588
  label: trans.__('Step Out'),
547
589
  caption: trans.__('Step Out'),
548
590
  icon: Debugger.Icons.stepOutIcon,
549
- isEnabled: () => {
550
- return service.hasStoppedThreads();
551
- },
591
+ isEnabled: () => service.hasStoppedThreads(),
552
592
  execute: async () => {
553
593
  await service.stepOut();
554
594
  }
555
595
  });
556
- commands.addCommand(CommandIDs.pause, {
557
- label: trans.__('Enable / Disable pausing on exceptions'),
558
- caption: () => service.isStarted
559
- ? service.pauseOnExceptionsIsValid()
560
- ? service.isPausingOnExceptions
561
- ? trans.__('Disable pausing on exceptions')
562
- : trans.__('Enable pausing on exceptions')
563
- : trans.__('Kernel does not support pausing on exceptions.')
564
- : trans.__('Enable / Disable pausing on exceptions'),
565
- className: 'jp-PauseOnExceptions',
566
- icon: Debugger.Icons.pauseOnExceptionsIcon,
567
- isToggled: () => {
568
- return service.isPausingOnExceptions;
569
- },
570
- isEnabled: () => {
571
- return service.pauseOnExceptionsIsValid();
572
- },
573
- execute: async () => {
574
- await service.pauseOnExceptions(!service.isPausingOnExceptions);
575
- commands.notifyCommandChanged();
596
+ commands.addCommand(CommandIDs.pauseOnExceptions, {
597
+ label: args => args.filter || 'Breakpoints on exception',
598
+ caption: args => args.description,
599
+ isToggled: args => { var _a; return ((_a = service.session) === null || _a === void 0 ? void 0 : _a.isPausingOnException(args.filter)) || false; },
600
+ isEnabled: () => service.pauseOnExceptionsIsValid(),
601
+ execute: async (args) => {
602
+ var _a, _b, _c;
603
+ if (args === null || args === void 0 ? void 0 : args.filter) {
604
+ let filter = args.filter;
605
+ await service.pauseOnExceptionsFilter(filter);
606
+ }
607
+ else {
608
+ let items = [];
609
+ (_b = (_a = service.session) === null || _a === void 0 ? void 0 : _a.exceptionBreakpointFilters) === null || _b === void 0 ? void 0 : _b.forEach(availableFilter => {
610
+ items.push(availableFilter.filter);
611
+ });
612
+ const result = await InputDialog.getMultipleItems({
613
+ title: trans.__('Select a filter for breakpoints on exception'),
614
+ items: items,
615
+ defaults: ((_c = service.session) === null || _c === void 0 ? void 0 : _c.currentExceptionFilters) || []
616
+ });
617
+ let filters = result.button.accept ? result.value : null;
618
+ if (filters !== null) {
619
+ await service.pauseOnExceptions(filters);
620
+ }
621
+ }
576
622
  }
577
623
  });
624
+ let autoCollapseSidebar = false;
625
+ if (settingRegistry) {
626
+ const setting = await settingRegistry.load(main.id);
627
+ const updateSettings = () => {
628
+ autoCollapseSidebar = setting.get('autoCollapseDebuggerSidebar')
629
+ .composite;
630
+ };
631
+ updateSettings();
632
+ setting.changed.connect(updateSettings);
633
+ }
578
634
  service.eventMessage.connect((_, event) => {
579
- commands.notifyCommandChanged();
635
+ notifyCommands(app);
580
636
  if (labShell && event.event === 'initialized') {
581
637
  labShell.activateById(sidebar.id);
582
638
  }
639
+ else if (labShell &&
640
+ sidebar.isVisible &&
641
+ event.event === 'terminated' &&
642
+ autoCollapseSidebar) {
643
+ labShell.collapseRight();
644
+ }
583
645
  });
584
646
  service.sessionChanged.connect(_ => {
585
- commands.notifyCommandChanged();
647
+ notifyCommands(app);
586
648
  });
587
649
  if (restorer) {
588
650
  restorer.add(sidebar, 'debugger-sidebar');
589
651
  }
590
652
  sidebar.node.setAttribute('role', 'region');
591
653
  sidebar.node.setAttribute('aria-label', trans.__('Debugger section'));
592
- shell.add(sidebar, 'right');
654
+ sidebar.title.caption = trans.__('Debugger');
655
+ shell.add(sidebar, 'right', { type: 'Debugger' });
593
656
  commands.addCommand(CommandIDs.showPanel, {
594
657
  label: translator.load('jupyterlab').__('Debugger Panel'),
595
658
  execute: () => {
@@ -605,7 +668,7 @@ const main = {
605
668
  CommandIDs.stepIn,
606
669
  CommandIDs.stepOut,
607
670
  CommandIDs.evaluate,
608
- CommandIDs.pause
671
+ CommandIDs.pauseOnExceptions
609
672
  ].forEach(command => {
610
673
  palette.addItem({ command, category });
611
674
  });
@@ -626,7 +689,12 @@ const main = {
626
689
  })
627
690
  .forEach(editor => {
628
691
  requestAnimationFrame(() => {
629
- Debugger.EditorHandler.showCurrentLine(editor, frame.line);
692
+ void editor.reveal().then(() => {
693
+ const edit = editor.get();
694
+ if (edit) {
695
+ Debugger.EditorHandler.showCurrentLine(edit, frame.line);
696
+ }
697
+ });
630
698
  });
631
699
  });
632
700
  };
@@ -645,18 +713,13 @@ const main = {
645
713
  if (results.length > 0) {
646
714
  if (breakpoint && typeof breakpoint.line !== 'undefined') {
647
715
  results.forEach(editor => {
648
- if (editor instanceof CodeMirrorEditor) {
649
- editor.scrollIntoViewCentered({
650
- line: breakpoint.line - 1,
651
- ch: breakpoint.column || 0
652
- });
653
- }
654
- else {
655
- editor.revealPosition({
716
+ void editor.reveal().then(() => {
717
+ var _a;
718
+ (_a = editor.get()) === null || _a === void 0 ? void 0 : _a.revealPosition({
656
719
  line: breakpoint.line - 1,
657
720
  column: breakpoint.column || 0
658
721
  });
659
- }
722
+ });
660
723
  });
661
724
  }
662
725
  return;
@@ -669,8 +732,10 @@ const main = {
669
732
  const editor = editorWrapper.editor;
670
733
  const editorHandler = new Debugger.EditorHandler({
671
734
  debuggerService: service,
672
- editor,
673
- path
735
+ editorReady: () => Promise.resolve(editor),
736
+ getEditor: () => editor,
737
+ path,
738
+ src: editor.model.sharedModel
674
739
  });
675
740
  editorWrapper.disposed.connect(() => editorHandler.dispose());
676
741
  debuggerSources.open({
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}