@jupyterlab/debugger-extension 4.1.0-alpha.2 → 4.1.0-alpha.4

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,12 +5,12 @@
5
5
  * @module debugger-extension
6
6
  */
7
7
  import { ILabShell, ILayoutRestorer } from '@jupyterlab/application';
8
- import { Clipboard, ICommandPalette, InputDialog, ISessionContextDialogs, IThemeManager, MainAreaWidget, SessionContextDialogs, WidgetTracker } from '@jupyterlab/apputils';
8
+ import { Clipboard, Dialog, ICommandPalette, InputDialog, ISessionContextDialogs, IThemeManager, MainAreaWidget, SessionContextDialogs, showDialog, WidgetTracker } from '@jupyterlab/apputils';
9
9
  import { CodeCell } from '@jupyterlab/cells';
10
10
  import { IEditorServices } from '@jupyterlab/codeeditor';
11
11
  import { ConsolePanel, IConsoleTracker } from '@jupyterlab/console';
12
12
  import { PageConfig, PathExt } from '@jupyterlab/coreutils';
13
- import { Debugger, IDebugger, IDebuggerConfig, IDebuggerHandler, IDebuggerSidebar, IDebuggerSources } from '@jupyterlab/debugger';
13
+ import { Debugger, IDebugger, IDebuggerConfig, IDebuggerHandler, IDebuggerSidebar, IDebuggerSources, IDebuggerSourceViewer } from '@jupyterlab/debugger';
14
14
  import { DocumentWidget } from '@jupyterlab/docregistry';
15
15
  import { FileEditor, IEditorTracker } from '@jupyterlab/fileeditor';
16
16
  import { ILoggerRegistry } from '@jupyterlab/logconsole';
@@ -464,6 +464,128 @@ const sidebar = {
464
464
  return sidebar;
465
465
  }
466
466
  };
467
+ /**
468
+ * The source viewer UI plugin.
469
+ */
470
+ const sourceViewer = {
471
+ id: '@jupyterlab/debugger-extension:source-viewer',
472
+ description: 'Initialize the debugger sources viewer.',
473
+ requires: [IDebugger, IEditorServices, IDebuggerSources, ITranslator],
474
+ provides: IDebuggerSourceViewer,
475
+ autoStart: true,
476
+ activate: async (app, service, editorServices, debuggerSources, translator) => {
477
+ const readOnlyEditorFactory = new Debugger.ReadOnlyEditorFactory({
478
+ editorServices
479
+ });
480
+ const { model } = service;
481
+ const onCurrentFrameChanged = (_, frame) => {
482
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
483
+ debuggerSources
484
+ .find({
485
+ focus: true,
486
+ kernel: (_d = (_c = (_b = (_a = service.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.kernel) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : '',
487
+ path: (_g = (_f = (_e = service.session) === null || _e === void 0 ? void 0 : _e.connection) === null || _f === void 0 ? void 0 : _f.path) !== null && _g !== void 0 ? _g : '',
488
+ source: (_j = (_h = frame === null || frame === void 0 ? void 0 : frame.source) === null || _h === void 0 ? void 0 : _h.path) !== null && _j !== void 0 ? _j : ''
489
+ })
490
+ .forEach(editor => {
491
+ requestAnimationFrame(() => {
492
+ void editor.reveal().then(() => {
493
+ const edit = editor.get();
494
+ if (edit) {
495
+ Debugger.EditorHandler.showCurrentLine(edit, frame.line);
496
+ }
497
+ });
498
+ });
499
+ });
500
+ };
501
+ model.callstack.currentFrameChanged.connect(onCurrentFrameChanged);
502
+ const openSource = (source, breakpoint) => {
503
+ var _a, _b, _c, _d, _e, _f, _g;
504
+ if (!source) {
505
+ return;
506
+ }
507
+ const { content, mimeType, path } = source;
508
+ const results = debuggerSources.find({
509
+ focus: true,
510
+ kernel: (_d = (_c = (_b = (_a = service.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.kernel) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : '',
511
+ path: (_g = (_f = (_e = service.session) === null || _e === void 0 ? void 0 : _e.connection) === null || _f === void 0 ? void 0 : _f.path) !== null && _g !== void 0 ? _g : '',
512
+ source: path
513
+ });
514
+ if (results.length > 0) {
515
+ if (breakpoint && typeof breakpoint.line !== 'undefined') {
516
+ results.forEach(editor => {
517
+ void editor.reveal().then(() => {
518
+ var _a;
519
+ (_a = editor.get()) === null || _a === void 0 ? void 0 : _a.revealPosition({
520
+ line: breakpoint.line - 1,
521
+ column: breakpoint.column || 0
522
+ });
523
+ });
524
+ });
525
+ }
526
+ return;
527
+ }
528
+ const editorWrapper = readOnlyEditorFactory.createNewEditor({
529
+ content,
530
+ mimeType,
531
+ path
532
+ });
533
+ const editor = editorWrapper.editor;
534
+ const editorHandler = new Debugger.EditorHandler({
535
+ debuggerService: service,
536
+ editorReady: () => Promise.resolve(editor),
537
+ getEditor: () => editor,
538
+ path,
539
+ src: editor.model.sharedModel
540
+ });
541
+ editorWrapper.disposed.connect(() => editorHandler.dispose());
542
+ debuggerSources.open({
543
+ label: PathExt.basename(path),
544
+ caption: path,
545
+ editorWrapper
546
+ });
547
+ const frame = service.model.callstack.frame;
548
+ if (frame) {
549
+ Debugger.EditorHandler.showCurrentLine(editor, frame.line);
550
+ }
551
+ };
552
+ const trans = translator.load('jupyterlab');
553
+ app.commands.addCommand(Debugger.CommandIDs.openSource, {
554
+ label: trans.__('Open Source'),
555
+ caption: trans.__('Open Source'),
556
+ isEnabled: () => !!sourceViewer,
557
+ execute: async (args) => {
558
+ const path = args.path || '';
559
+ if (!path) {
560
+ throw Error('Path to open is needed');
561
+ }
562
+ if (!service.isStarted) {
563
+ const choice = await showDialog({
564
+ title: trans.__('Start debugger?'),
565
+ body: trans.__('The debugger service is needed to open the source %1', path),
566
+ buttons: [
567
+ Dialog.cancelButton({ label: trans.__('Cancel') }),
568
+ Dialog.okButton({ label: trans.__('Start debugger') })
569
+ ]
570
+ });
571
+ if (choice.button.accept) {
572
+ await service.start();
573
+ }
574
+ else {
575
+ return;
576
+ }
577
+ }
578
+ const source = await service.getSource({
579
+ path
580
+ });
581
+ return openSource(source);
582
+ }
583
+ });
584
+ return Object.freeze({
585
+ open: openSource
586
+ });
587
+ }
588
+ };
467
589
  /**
468
590
  * The main debugger UI plugin.
469
591
  */
@@ -473,14 +595,14 @@ const main = {
473
595
  requires: [IDebugger, IDebuggerSidebar, IEditorServices, ITranslator],
474
596
  optional: [
475
597
  ICommandPalette,
476
- IDebuggerSources,
598
+ IDebuggerSourceViewer,
477
599
  ILabShell,
478
600
  ILayoutRestorer,
479
601
  ILoggerRegistry,
480
602
  ISettingRegistry
481
603
  ],
482
604
  autoStart: true,
483
- activate: async (app, service, sidebar, editorServices, translator, palette, debuggerSources, labShell, restorer, loggerRegistry, settingRegistry) => {
605
+ activate: async (app, service, sidebar, editorServices, translator, palette, sourceViewer, labShell, restorer, loggerRegistry, settingRegistry) => {
484
606
  var _a;
485
607
  const trans = translator.load('jupyterlab');
486
608
  const { commands, shell, serviceManager } = app;
@@ -696,89 +818,17 @@ const main = {
696
818
  palette.addItem({ command, category });
697
819
  });
698
820
  }
699
- if (debuggerSources) {
821
+ if (sourceViewer) {
700
822
  const { model } = service;
701
- const readOnlyEditorFactory = new Debugger.ReadOnlyEditorFactory({
702
- editorServices
703
- });
704
- const onCurrentFrameChanged = (_, frame) => {
705
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
706
- debuggerSources
707
- .find({
708
- focus: true,
709
- kernel: (_d = (_c = (_b = (_a = service.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.kernel) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : '',
710
- path: (_g = (_f = (_e = service.session) === null || _e === void 0 ? void 0 : _e.connection) === null || _f === void 0 ? void 0 : _f.path) !== null && _g !== void 0 ? _g : '',
711
- source: (_j = (_h = frame === null || frame === void 0 ? void 0 : frame.source) === null || _h === void 0 ? void 0 : _h.path) !== null && _j !== void 0 ? _j : ''
712
- })
713
- .forEach(editor => {
714
- requestAnimationFrame(() => {
715
- void editor.reveal().then(() => {
716
- const edit = editor.get();
717
- if (edit) {
718
- Debugger.EditorHandler.showCurrentLine(edit, frame.line);
719
- }
720
- });
721
- });
722
- });
723
- };
724
- const onSourceOpened = (_, source, breakpoint) => {
725
- var _a, _b, _c, _d, _e, _f, _g;
726
- if (!source) {
727
- return;
728
- }
729
- const { content, mimeType, path } = source;
730
- const results = debuggerSources.find({
731
- focus: true,
732
- kernel: (_d = (_c = (_b = (_a = service.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.kernel) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : '',
733
- path: (_g = (_f = (_e = service.session) === null || _e === void 0 ? void 0 : _e.connection) === null || _f === void 0 ? void 0 : _f.path) !== null && _g !== void 0 ? _g : '',
734
- source: path
735
- });
736
- if (results.length > 0) {
737
- if (breakpoint && typeof breakpoint.line !== 'undefined') {
738
- results.forEach(editor => {
739
- void editor.reveal().then(() => {
740
- var _a;
741
- (_a = editor.get()) === null || _a === void 0 ? void 0 : _a.revealPosition({
742
- line: breakpoint.line - 1,
743
- column: breakpoint.column || 0
744
- });
745
- });
746
- });
747
- }
748
- return;
749
- }
750
- const editorWrapper = readOnlyEditorFactory.createNewEditor({
751
- content,
752
- mimeType,
753
- path
754
- });
755
- const editor = editorWrapper.editor;
756
- const editorHandler = new Debugger.EditorHandler({
757
- debuggerService: service,
758
- editorReady: () => Promise.resolve(editor),
759
- getEditor: () => editor,
760
- path,
761
- src: editor.model.sharedModel
762
- });
763
- editorWrapper.disposed.connect(() => editorHandler.dispose());
764
- debuggerSources.open({
765
- label: PathExt.basename(path),
766
- caption: path,
767
- editorWrapper
768
- });
769
- const frame = service.model.callstack.frame;
770
- if (frame) {
771
- Debugger.EditorHandler.showCurrentLine(editor, frame.line);
772
- }
773
- };
774
823
  const onKernelSourceOpened = (_, source, breakpoint) => {
775
824
  if (!source) {
776
825
  return;
777
826
  }
778
- onSourceOpened(null, source, breakpoint);
827
+ sourceViewer.open(source, breakpoint);
779
828
  };
780
- model.callstack.currentFrameChanged.connect(onCurrentFrameChanged);
781
- model.sources.currentSourceOpened.connect(onSourceOpened);
829
+ model.sources.currentSourceOpened.connect((_, source) => {
830
+ sourceViewer.open(source);
831
+ });
782
832
  model.kernelSources.kernelSourceOpened.connect(onKernelSourceOpened);
783
833
  model.breakpoints.clicked.connect(async (_, breakpoint) => {
784
834
  var _a;
@@ -787,7 +837,7 @@ const main = {
787
837
  sourceReference: 0,
788
838
  path
789
839
  });
790
- onSourceOpened(null, source, breakpoint);
840
+ sourceViewer.open(source, breakpoint);
791
841
  });
792
842
  }
793
843
  }
@@ -804,6 +854,7 @@ const plugins = [
804
854
  sidebar,
805
855
  main,
806
856
  sources,
857
+ sourceViewer,
807
858
  configuration
808
859
  ];
809
860
  export default plugins;
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/debugger-extension",
3
- "version": "4.1.0-alpha.2",
3
+ "version": "4.1.0-alpha.4",
4
4
  "description": "JupyterLab - Debugger Extension",
5
5
  "keywords": [
6
6
  "jupyter",
@@ -44,29 +44,29 @@
44
44
  "watch": "tsc -b --watch"
45
45
  },
46
46
  "dependencies": {
47
- "@jupyterlab/application": "^4.1.0-alpha.2",
48
- "@jupyterlab/apputils": "^4.2.0-alpha.2",
49
- "@jupyterlab/cells": "^4.1.0-alpha.2",
50
- "@jupyterlab/codeeditor": "^4.1.0-alpha.2",
51
- "@jupyterlab/console": "^4.1.0-alpha.2",
52
- "@jupyterlab/coreutils": "^6.1.0-alpha.2",
53
- "@jupyterlab/debugger": "^4.1.0-alpha.2",
54
- "@jupyterlab/docregistry": "^4.1.0-alpha.2",
55
- "@jupyterlab/fileeditor": "^4.1.0-alpha.2",
56
- "@jupyterlab/logconsole": "^4.1.0-alpha.2",
57
- "@jupyterlab/notebook": "^4.1.0-alpha.2",
58
- "@jupyterlab/rendermime": "^4.1.0-alpha.2",
59
- "@jupyterlab/services": "^7.1.0-alpha.2",
60
- "@jupyterlab/settingregistry": "^4.1.0-alpha.2",
61
- "@jupyterlab/translation": "^4.1.0-alpha.2"
47
+ "@jupyterlab/application": "^4.1.0-alpha.4",
48
+ "@jupyterlab/apputils": "^4.2.0-alpha.4",
49
+ "@jupyterlab/cells": "^4.1.0-alpha.4",
50
+ "@jupyterlab/codeeditor": "^4.1.0-alpha.4",
51
+ "@jupyterlab/console": "^4.1.0-alpha.4",
52
+ "@jupyterlab/coreutils": "^6.1.0-alpha.4",
53
+ "@jupyterlab/debugger": "^4.1.0-alpha.4",
54
+ "@jupyterlab/docregistry": "^4.1.0-alpha.4",
55
+ "@jupyterlab/fileeditor": "^4.1.0-alpha.4",
56
+ "@jupyterlab/logconsole": "^4.1.0-alpha.4",
57
+ "@jupyterlab/notebook": "^4.1.0-alpha.4",
58
+ "@jupyterlab/rendermime": "^4.1.0-alpha.4",
59
+ "@jupyterlab/services": "^7.1.0-alpha.4",
60
+ "@jupyterlab/settingregistry": "^4.1.0-alpha.4",
61
+ "@jupyterlab/translation": "^4.1.0-alpha.4"
62
62
  },
63
63
  "devDependencies": {
64
- "@jupyterlab/testing": "^4.1.0-alpha.2",
64
+ "@jupyterlab/testing": "^4.1.0-alpha.4",
65
65
  "@types/jest": "^29.2.0",
66
66
  "@types/react-dom": "^18.0.9",
67
- "rimraf": "~3.0.0",
67
+ "rimraf": "~5.0.5",
68
68
  "typedoc": "~0.24.7",
69
- "typescript": "~5.0.4"
69
+ "typescript": "~5.1.6"
70
70
  },
71
71
  "publishConfig": {
72
72
  "access": "public"
package/src/index.ts CHANGED
@@ -13,12 +13,14 @@ import {
13
13
  } from '@jupyterlab/application';
14
14
  import {
15
15
  Clipboard,
16
+ Dialog,
16
17
  ICommandPalette,
17
18
  InputDialog,
18
19
  ISessionContextDialogs,
19
20
  IThemeManager,
20
21
  MainAreaWidget,
21
22
  SessionContextDialogs,
23
+ showDialog,
22
24
  WidgetTracker
23
25
  } from '@jupyterlab/apputils';
24
26
  import { CodeCell } from '@jupyterlab/cells';
@@ -31,7 +33,8 @@ import {
31
33
  IDebuggerConfig,
32
34
  IDebuggerHandler,
33
35
  IDebuggerSidebar,
34
- IDebuggerSources
36
+ IDebuggerSources,
37
+ IDebuggerSourceViewer
35
38
  } from '@jupyterlab/debugger';
36
39
  import { DocumentWidget } from '@jupyterlab/docregistry';
37
40
  import { FileEditor, IEditorTracker } from '@jupyterlab/fileeditor';
@@ -615,6 +618,147 @@ const sidebar: JupyterFrontEndPlugin<IDebugger.ISidebar> = {
615
618
  }
616
619
  };
617
620
 
621
+ /**
622
+ * The source viewer UI plugin.
623
+ */
624
+ const sourceViewer: JupyterFrontEndPlugin<IDebugger.ISourceViewer> = {
625
+ id: '@jupyterlab/debugger-extension:source-viewer',
626
+ description: 'Initialize the debugger sources viewer.',
627
+ requires: [IDebugger, IEditorServices, IDebuggerSources, ITranslator],
628
+ provides: IDebuggerSourceViewer,
629
+ autoStart: true,
630
+ activate: async (
631
+ app: JupyterFrontEnd,
632
+ service: IDebugger,
633
+ editorServices: IEditorServices,
634
+ debuggerSources: IDebugger.ISources,
635
+ translator: ITranslator
636
+ ): Promise<IDebugger.ISourceViewer> => {
637
+ const readOnlyEditorFactory = new Debugger.ReadOnlyEditorFactory({
638
+ editorServices
639
+ });
640
+ const { model } = service;
641
+
642
+ const onCurrentFrameChanged = (
643
+ _: IDebugger.Model.ICallstack,
644
+ frame: IDebugger.IStackFrame
645
+ ): void => {
646
+ debuggerSources
647
+ .find({
648
+ focus: true,
649
+ kernel: service.session?.connection?.kernel?.name ?? '',
650
+ path: service.session?.connection?.path ?? '',
651
+ source: frame?.source?.path ?? ''
652
+ })
653
+ .forEach(editor => {
654
+ requestAnimationFrame(() => {
655
+ void editor.reveal().then(() => {
656
+ const edit = editor.get();
657
+ if (edit) {
658
+ Debugger.EditorHandler.showCurrentLine(edit, frame.line);
659
+ }
660
+ });
661
+ });
662
+ });
663
+ };
664
+ model.callstack.currentFrameChanged.connect(onCurrentFrameChanged);
665
+
666
+ const openSource = (
667
+ source: IDebugger.Source,
668
+ breakpoint?: IDebugger.IBreakpoint
669
+ ): void => {
670
+ if (!source) {
671
+ return;
672
+ }
673
+ const { content, mimeType, path } = source;
674
+ const results = debuggerSources.find({
675
+ focus: true,
676
+ kernel: service.session?.connection?.kernel?.name ?? '',
677
+ path: service.session?.connection?.path ?? '',
678
+ source: path
679
+ });
680
+ if (results.length > 0) {
681
+ if (breakpoint && typeof breakpoint.line !== 'undefined') {
682
+ results.forEach(editor => {
683
+ void editor.reveal().then(() => {
684
+ editor.get()?.revealPosition({
685
+ line: (breakpoint.line as number) - 1,
686
+ column: breakpoint.column || 0
687
+ });
688
+ });
689
+ });
690
+ }
691
+ return;
692
+ }
693
+ const editorWrapper = readOnlyEditorFactory.createNewEditor({
694
+ content,
695
+ mimeType,
696
+ path
697
+ });
698
+ const editor = editorWrapper.editor;
699
+ const editorHandler = new Debugger.EditorHandler({
700
+ debuggerService: service,
701
+ editorReady: () => Promise.resolve(editor),
702
+ getEditor: () => editor,
703
+ path,
704
+ src: editor.model.sharedModel
705
+ });
706
+ editorWrapper.disposed.connect(() => editorHandler.dispose());
707
+
708
+ debuggerSources.open({
709
+ label: PathExt.basename(path),
710
+ caption: path,
711
+ editorWrapper
712
+ });
713
+
714
+ const frame = service.model.callstack.frame;
715
+ if (frame) {
716
+ Debugger.EditorHandler.showCurrentLine(editor, frame.line);
717
+ }
718
+ };
719
+
720
+ const trans = translator.load('jupyterlab');
721
+
722
+ app.commands.addCommand(Debugger.CommandIDs.openSource, {
723
+ label: trans.__('Open Source'),
724
+ caption: trans.__('Open Source'),
725
+ isEnabled: () => !!sourceViewer,
726
+ execute: async args => {
727
+ const path = (args.path as string) || '';
728
+ if (!path) {
729
+ throw Error('Path to open is needed');
730
+ }
731
+ if (!service.isStarted) {
732
+ const choice = await showDialog({
733
+ title: trans.__('Start debugger?'),
734
+ body: trans.__(
735
+ 'The debugger service is needed to open the source %1',
736
+ path
737
+ ),
738
+ buttons: [
739
+ Dialog.cancelButton({ label: trans.__('Cancel') }),
740
+ Dialog.okButton({ label: trans.__('Start debugger') })
741
+ ]
742
+ });
743
+ if (choice.button.accept) {
744
+ await service.start();
745
+ } else {
746
+ return;
747
+ }
748
+ }
749
+ const source = await service.getSource({
750
+ path
751
+ });
752
+ return openSource(source);
753
+ }
754
+ });
755
+
756
+ return Object.freeze({
757
+ open: openSource
758
+ });
759
+ }
760
+ };
761
+
618
762
  /**
619
763
  * The main debugger UI plugin.
620
764
  */
@@ -624,7 +768,7 @@ const main: JupyterFrontEndPlugin<void> = {
624
768
  requires: [IDebugger, IDebuggerSidebar, IEditorServices, ITranslator],
625
769
  optional: [
626
770
  ICommandPalette,
627
- IDebuggerSources,
771
+ IDebuggerSourceViewer,
628
772
  ILabShell,
629
773
  ILayoutRestorer,
630
774
  ILoggerRegistry,
@@ -638,7 +782,7 @@ const main: JupyterFrontEndPlugin<void> = {
638
782
  editorServices: IEditorServices,
639
783
  translator: ITranslator,
640
784
  palette: ICommandPalette | null,
641
- debuggerSources: IDebugger.ISources | null,
785
+ sourceViewer: IDebugger.ISourceViewer | null,
642
786
  labShell: ILabShell | null,
643
787
  restorer: ILayoutRestorer | null,
644
788
  loggerRegistry: ILoggerRegistry | null,
@@ -884,90 +1028,8 @@ const main: JupyterFrontEndPlugin<void> = {
884
1028
  });
885
1029
  }
886
1030
 
887
- if (debuggerSources) {
1031
+ if (sourceViewer) {
888
1032
  const { model } = service;
889
- const readOnlyEditorFactory = new Debugger.ReadOnlyEditorFactory({
890
- editorServices
891
- });
892
-
893
- const onCurrentFrameChanged = (
894
- _: IDebugger.Model.ICallstack,
895
- frame: IDebugger.IStackFrame
896
- ): void => {
897
- debuggerSources
898
- .find({
899
- focus: true,
900
- kernel: service.session?.connection?.kernel?.name ?? '',
901
- path: service.session?.connection?.path ?? '',
902
- source: frame?.source?.path ?? ''
903
- })
904
- .forEach(editor => {
905
- requestAnimationFrame(() => {
906
- void editor.reveal().then(() => {
907
- const edit = editor.get();
908
- if (edit) {
909
- Debugger.EditorHandler.showCurrentLine(edit, frame.line);
910
- }
911
- });
912
- });
913
- });
914
- };
915
-
916
- const onSourceOpened = (
917
- _: IDebugger.Model.ISources | null,
918
- source: IDebugger.Source,
919
- breakpoint?: IDebugger.IBreakpoint
920
- ): void => {
921
- if (!source) {
922
- return;
923
- }
924
- const { content, mimeType, path } = source;
925
- const results = debuggerSources.find({
926
- focus: true,
927
- kernel: service.session?.connection?.kernel?.name ?? '',
928
- path: service.session?.connection?.path ?? '',
929
- source: path
930
- });
931
- if (results.length > 0) {
932
- if (breakpoint && typeof breakpoint.line !== 'undefined') {
933
- results.forEach(editor => {
934
- void editor.reveal().then(() => {
935
- editor.get()?.revealPosition({
936
- line: (breakpoint.line as number) - 1,
937
- column: breakpoint.column || 0
938
- });
939
- });
940
- });
941
- }
942
- return;
943
- }
944
- const editorWrapper = readOnlyEditorFactory.createNewEditor({
945
- content,
946
- mimeType,
947
- path
948
- });
949
- const editor = editorWrapper.editor;
950
- const editorHandler = new Debugger.EditorHandler({
951
- debuggerService: service,
952
- editorReady: () => Promise.resolve(editor),
953
- getEditor: () => editor,
954
- path,
955
- src: editor.model.sharedModel
956
- });
957
- editorWrapper.disposed.connect(() => editorHandler.dispose());
958
-
959
- debuggerSources.open({
960
- label: PathExt.basename(path),
961
- caption: path,
962
- editorWrapper
963
- });
964
-
965
- const frame = service.model.callstack.frame;
966
- if (frame) {
967
- Debugger.EditorHandler.showCurrentLine(editor, frame.line);
968
- }
969
- };
970
-
971
1033
  const onKernelSourceOpened = (
972
1034
  _: IDebugger.Model.IKernelSources | null,
973
1035
  source: IDebugger.Source,
@@ -976,11 +1038,14 @@ const main: JupyterFrontEndPlugin<void> = {
976
1038
  if (!source) {
977
1039
  return;
978
1040
  }
979
- onSourceOpened(null, source, breakpoint);
1041
+ sourceViewer.open(source, breakpoint);
980
1042
  };
981
1043
 
982
- model.callstack.currentFrameChanged.connect(onCurrentFrameChanged);
983
- model.sources.currentSourceOpened.connect(onSourceOpened);
1044
+ model.sources.currentSourceOpened.connect(
1045
+ (_: IDebugger.Model.ISources | null, source: IDebugger.Source) => {
1046
+ sourceViewer.open(source);
1047
+ }
1048
+ );
984
1049
  model.kernelSources.kernelSourceOpened.connect(onKernelSourceOpened);
985
1050
  model.breakpoints.clicked.connect(async (_, breakpoint) => {
986
1051
  const path = breakpoint.source?.path;
@@ -988,7 +1053,7 @@ const main: JupyterFrontEndPlugin<void> = {
988
1053
  sourceReference: 0,
989
1054
  path
990
1055
  });
991
- onSourceOpened(null, source, breakpoint);
1056
+ sourceViewer.open(source, breakpoint);
992
1057
  });
993
1058
  }
994
1059
  }
@@ -1006,6 +1071,7 @@ const plugins: JupyterFrontEndPlugin<any>[] = [
1006
1071
  sidebar,
1007
1072
  main,
1008
1073
  sources,
1074
+ sourceViewer,
1009
1075
  configuration
1010
1076
  ];
1011
1077