@jupyterlab/debugger 4.5.0-alpha.3 → 4.5.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/service.js CHANGED
@@ -228,8 +228,9 @@ export class DebuggerService {
228
228
  if (!reply.success) {
229
229
  return null;
230
230
  }
231
+ // TODO - Should this be here?
232
+ this._model.variables.scopes = [];
231
233
  // get the frames to retrieve the latest state of the variables
232
- this._clearModel();
233
234
  await this._getAllFrames();
234
235
  return reply.body;
235
236
  }
@@ -404,7 +405,7 @@ export class DebuggerService {
404
405
  await this._getAllFrames();
405
406
  }
406
407
  else if (this.isStarted) {
407
- this._clearModel();
408
+ this._model.callstack.frames = [];
408
409
  this._clearSignals();
409
410
  }
410
411
  // Send the currentExceptionFilters to debugger.
@@ -526,7 +527,6 @@ export class DebuggerService {
526
527
  });
527
528
  // Update the local model and finish kernel configuration.
528
529
  this._model.breakpoints.setBreakpoints(path, updatedBreakpoints);
529
- await this.session.sendRequest('configurationDone', {});
530
530
  }
531
531
  /**
532
532
  * Determines if pausing on exceptions is supported by the kernel
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/lib/tokens.d.ts CHANGED
@@ -722,6 +722,14 @@ export declare namespace IDebugger {
722
722
  * Signal emitted when the breakpoints are restored.
723
723
  */
724
724
  readonly restored: ISignal<this, void>;
725
+ /**
726
+ * Signal emitted when the breakpoints are restored.
727
+ */
728
+ readonly selectedChanged: Signal<this, IDebugger.IBreakpoint>;
729
+ /**
730
+ * Selected breakpoint
731
+ */
732
+ selectedBreakpoint: IDebugger.IBreakpoint | null;
725
733
  /**
726
734
  * Get the breakpoints for a given id (path).
727
735
  *
package/lib/tokens.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAQ3D,OAAO,EAAsB,KAAK,EAAE,MAAM,mBAAmB,CAAC;AA8iC9D;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,KAAK,CAChC,gCAAgC,EAChC,4BAA4B,CAC7B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,KAAK,CACtC,sCAAsC,EACtC,iDAAiD,CAClD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,KAAK,CACvC,uCAAuC,EACvC,6CAA6C,CAC9C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,KAAK,CACvC,uCAAuC,EACvC,qCAAqC,CACtC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,KAAK,CACvC,uCAAuC,EACvC,2CAA2C,CAC5C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,KAAK,CAC5C,4CAA4C,EAC5C,2BAA2B,CAC5B,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAQ3D,OAAO,EAAsB,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAwjC9D;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,KAAK,CAChC,gCAAgC,EAChC,4BAA4B,CAC7B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,KAAK,CACtC,sCAAsC,EACtC,iDAAiD,CAClD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,KAAK,CACvC,uCAAuC,EACvC,6CAA6C,CAC9C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,KAAK,CACvC,uCAAuC,EACvC,qCAAqC,CACtC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,KAAK,CACvC,uCAAuC,EACvC,2CAA2C,CAC5C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,KAAK,CAC5C,4CAA4C,EAC5C,2BAA2B,CAC5B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/debugger",
3
- "version": "4.5.0-alpha.3",
3
+ "version": "4.5.0-beta.0",
4
4
  "description": "JupyterLab - Debugger Extension",
5
5
  "keywords": [
6
6
  "jupyter",
@@ -51,21 +51,21 @@
51
51
  "@codemirror/view": "^6.38.1",
52
52
  "@jupyter/react-components": "^0.16.6",
53
53
  "@jupyter/ydoc": "^3.1.0",
54
- "@jupyterlab/application": "^4.5.0-alpha.3",
55
- "@jupyterlab/apputils": "^4.6.0-alpha.3",
56
- "@jupyterlab/cells": "^4.5.0-alpha.3",
57
- "@jupyterlab/codeeditor": "^4.5.0-alpha.3",
58
- "@jupyterlab/codemirror": "^4.5.0-alpha.3",
59
- "@jupyterlab/console": "^4.5.0-alpha.3",
60
- "@jupyterlab/coreutils": "^6.5.0-alpha.3",
61
- "@jupyterlab/docregistry": "^4.5.0-alpha.3",
62
- "@jupyterlab/fileeditor": "^4.5.0-alpha.3",
63
- "@jupyterlab/notebook": "^4.5.0-alpha.3",
64
- "@jupyterlab/observables": "^5.5.0-alpha.3",
65
- "@jupyterlab/rendermime": "^4.5.0-alpha.3",
66
- "@jupyterlab/services": "^7.5.0-alpha.3",
67
- "@jupyterlab/translation": "^4.5.0-alpha.3",
68
- "@jupyterlab/ui-components": "^4.5.0-alpha.3",
54
+ "@jupyterlab/application": "^4.5.0-beta.0",
55
+ "@jupyterlab/apputils": "^4.6.0-beta.0",
56
+ "@jupyterlab/cells": "^4.5.0-beta.0",
57
+ "@jupyterlab/codeeditor": "^4.5.0-beta.0",
58
+ "@jupyterlab/codemirror": "^4.5.0-beta.0",
59
+ "@jupyterlab/console": "^4.5.0-beta.0",
60
+ "@jupyterlab/coreutils": "^6.5.0-beta.0",
61
+ "@jupyterlab/docregistry": "^4.5.0-beta.0",
62
+ "@jupyterlab/fileeditor": "^4.5.0-beta.0",
63
+ "@jupyterlab/notebook": "^4.5.0-beta.0",
64
+ "@jupyterlab/observables": "^5.5.0-beta.0",
65
+ "@jupyterlab/rendermime": "^4.5.0-beta.0",
66
+ "@jupyterlab/services": "^7.5.0-beta.0",
67
+ "@jupyterlab/translation": "^4.5.0-beta.0",
68
+ "@jupyterlab/ui-components": "^4.5.0-beta.0",
69
69
  "@lumino/algorithm": "^2.0.3",
70
70
  "@lumino/commands": "^2.3.2",
71
71
  "@lumino/coreutils": "^2.2.1",
@@ -79,7 +79,7 @@
79
79
  "react": "^18.2.0"
80
80
  },
81
81
  "devDependencies": {
82
- "@jupyterlab/testing": "^4.5.0-alpha.3",
82
+ "@jupyterlab/testing": "^4.5.0-beta.0",
83
83
  "@types/jest": "^29.2.0",
84
84
  "jest": "^29.2.0",
85
85
  "jest-canvas-mock": "^2.5.2",
package/src/debugger.ts CHANGED
@@ -127,6 +127,12 @@ export namespace Debugger {
127
127
 
128
128
  export const copyToGlobals = 'debugger:copy-to-globals';
129
129
 
130
+ export const invokeConsole = 'debugger:invoke-console-completer';
131
+
132
+ export const selectConsole = 'debugger:select-console-completion';
133
+
134
+ export const executeConsole = 'debugger:run-in-console';
135
+
130
136
  export const openSource = 'debugger:open-source';
131
137
  }
132
138
 
@@ -15,7 +15,9 @@ import { ISharedText, SourceChange } from '@jupyter/ydoc';
15
15
 
16
16
  import {
17
17
  Compartment,
18
+ Line,
18
19
  Prec,
20
+ Range,
19
21
  RangeSet,
20
22
  StateEffect,
21
23
  StateEffectType,
@@ -31,6 +33,10 @@ import {
31
33
  } from '@codemirror/view';
32
34
 
33
35
  import { IDebugger } from '../tokens';
36
+ import {
37
+ breakpointIcon,
38
+ selectedBreakpointIcon
39
+ } from '@jupyterlab/ui-components';
34
40
 
35
41
  /**
36
42
  * The class name added to the current line.
@@ -65,7 +71,8 @@ export class EditorHandler implements IDisposable {
65
71
  this._editorMonitor.activityStopped.connect(() => {
66
72
  this._sendEditorBreakpoints();
67
73
  }, this);
68
-
74
+ this._selectedBreakpoint =
75
+ this._debuggerService.model.breakpoints.selectedBreakpoint;
69
76
  this._debuggerService.model.breakpoints.changed.connect(async () => {
70
77
  const editor = this.editor;
71
78
  if (!editor || editor.isDisposed) {
@@ -82,6 +89,13 @@ export class EditorHandler implements IDisposable {
82
89
  this._addBreakpointsToEditor();
83
90
  });
84
91
 
92
+ this._debuggerService.model.breakpoints.selectedChanged.connect(
93
+ (_, breakpoint) => {
94
+ this._selectedBreakpoint = breakpoint;
95
+ this._addBreakpointsToEditor();
96
+ }
97
+ );
98
+
85
99
  this._debuggerService.model.callstack.currentFrameChanged.connect(() => {
86
100
  const editor = this.editor;
87
101
  if (editor) {
@@ -89,8 +103,14 @@ export class EditorHandler implements IDisposable {
89
103
  }
90
104
  });
91
105
 
92
- this._breakpointEffect = StateEffect.define<{ pos: number[] }>({
93
- map: (value, mapping) => ({ pos: value.pos.map(v => mapping.mapPos(v)) })
106
+ this._breakpointEffect = StateEffect.define<
107
+ { pos: number; selected: boolean }[]
108
+ >({
109
+ map: (value, mapping) =>
110
+ value.map(v => ({
111
+ pos: mapping.mapPos(v.pos),
112
+ selected: v.selected
113
+ }))
94
114
  });
95
115
 
96
116
  this._breakpointState = StateField.define<RangeSet<GutterMarker>>({
@@ -98,21 +118,27 @@ export class EditorHandler implements IDisposable {
98
118
  return RangeSet.empty;
99
119
  },
100
120
  update: (breakpoints, transaction) => {
101
- breakpoints = breakpoints.map(transaction.changes);
121
+ let hasEffect = false;
122
+ let decorations: Range<GutterMarker> | readonly Range<GutterMarker>[] =
123
+ [];
124
+
102
125
  for (let ef of transaction.effects) {
103
126
  if (ef.is(this._breakpointEffect)) {
104
- let e = ef as StateEffect<{ pos: number[] }>;
105
- if (e.value.pos.length) {
106
- breakpoints = breakpoints.update({
107
- add: e.value.pos.map(v => Private.breakpointMarker.range(v)),
108
- sort: true
109
- });
110
- } else {
111
- breakpoints = RangeSet.empty;
112
- }
127
+ hasEffect = true;
128
+ decorations = ef.value.map(({ pos, selected }) => {
129
+ const marker = selected
130
+ ? Private.selectedBreakpointMarker
131
+ : Private.breakpointMarker;
132
+ return marker.range(pos);
133
+ });
113
134
  }
114
135
  }
115
- return breakpoints;
136
+
137
+ if (hasEffect) {
138
+ return RangeSet.of(decorations, true);
139
+ }
140
+
141
+ return breakpoints.map(transaction.changes);
116
142
  }
117
143
  });
118
144
 
@@ -252,6 +278,38 @@ export class EditorHandler implements IDisposable {
252
278
  );
253
279
  }
254
280
 
281
+ /**
282
+ * Handle a click on the gutter.
283
+ *
284
+ * @param editor The editor from where the click originated.
285
+ * @param position The position corresponding to the click event.
286
+ */
287
+ private _getEffectiveClickedLine(
288
+ editor: EditorView,
289
+ position: number
290
+ ): [Line | undefined, boolean] {
291
+ let clickedLine = editor.state.doc.lineAt(position);
292
+ let clickedLineNumber = clickedLine.number;
293
+ let targetLine: Line | undefined = undefined;
294
+ let isLineEmpty: boolean =
295
+ false; /* is true is the clicked line of code is empty */
296
+ if (clickedLine.text.trim() === '') {
297
+ isLineEmpty = true;
298
+ while (clickedLineNumber > 1) {
299
+ clickedLineNumber--;
300
+ const prevLine = editor.state.doc.line(clickedLineNumber);
301
+ if (prevLine.text.trim() !== '') {
302
+ targetLine = prevLine;
303
+ break;
304
+ }
305
+ }
306
+ } else {
307
+ if (isLineEmpty === false) {
308
+ targetLine = clickedLine;
309
+ }
310
+ }
311
+ return [targetLine, isLineEmpty];
312
+ }
255
313
  /**
256
314
  * Handle a click on the gutter.
257
315
  *
@@ -263,27 +321,57 @@ export class EditorHandler implements IDisposable {
263
321
  return;
264
322
  }
265
323
 
266
- const lineNumber = editor.state.doc.lineAt(position).number;
324
+ const [clickedLine, isLineEmpty] = this._getEffectiveClickedLine(
325
+ editor,
326
+ position
327
+ );
328
+ let breakpoints: IDebugger.IBreakpoint[] = this._getBreakpoints();
267
329
  let stateBreakpoints = editor.state.field(this._breakpointState);
268
330
  let hasBreakpoint = false;
269
- stateBreakpoints.between(position, position, () => {
270
- hasBreakpoint = true;
271
- });
272
- let breakpoints: IDebugger.IBreakpoint[] = this._getBreakpoints();
273
- if (hasBreakpoint) {
274
- breakpoints = breakpoints.filter(ele => ele.line !== lineNumber);
275
- } else {
276
- breakpoints.push(
277
- Private.createBreakpoint(
331
+
332
+ if (clickedLine) {
333
+ stateBreakpoints.between(clickedLine?.from, clickedLine?.from, () => {
334
+ hasBreakpoint = true;
335
+ });
336
+
337
+ if (!hasBreakpoint) {
338
+ /* if there is no breakpoint at effective clickedLine : add one */
339
+ this._debuggerService.model.breakpoints.selectedBreakpoint = null;
340
+ const newBreakpoint = Private.createBreakpoint(
278
341
  this._path ?? this._debuggerService.session.connection.name,
279
- lineNumber
280
- )
281
- );
342
+ clickedLine.number
343
+ );
344
+
345
+ breakpoints.push(newBreakpoint);
346
+ } else {
347
+ /* if there is already a breakpoint */
348
+ if (!isLineEmpty) {
349
+ /* remove the in place breakpoint if the clicked line of code is not empty*/
350
+ breakpoints = breakpoints.filter(
351
+ ele => ele.line !== clickedLine.number
352
+ );
353
+
354
+ if (this._selectedBreakpoint) {
355
+ /* if the breakpoint is a selected one: remove it*/
356
+ breakpoints = breakpoints.filter(
357
+ ele => ele.line !== this._selectedBreakpoint?.line
358
+ );
359
+ }
360
+ } else {
361
+ /* if the clicked line of code is empty, find the breakpoint at the effective clicked line
362
+ and make it the selected breakpoint*/
363
+ const breakPointAtClickedLine = breakpoints.find(
364
+ b => b.line === clickedLine.number
365
+ );
366
+ if (breakPointAtClickedLine) {
367
+ this._debuggerService.model.breakpoints.selectedBreakpoint =
368
+ breakPointAtClickedLine;
369
+ }
370
+ }
371
+ }
282
372
  }
283
373
 
284
- breakpoints.sort((a, b) => {
285
- return a.line! - b.line!;
286
- });
374
+ breakpoints.sort((a, b) => a.line! - b.line!);
287
375
 
288
376
  void this._debuggerService.updateBreakpoints(
289
377
  this._src.getSource(),
@@ -304,12 +392,18 @@ export class EditorHandler implements IDisposable {
304
392
  const breakpoints = this._getBreakpoints();
305
393
 
306
394
  this._clearGutter(editor);
307
- const breakpointPos = breakpoints.map(b => {
308
- return editor.state.doc.line(b.line!).from;
395
+
396
+ const selectedLine = this._selectedBreakpoint?.line;
397
+ const selectedPath = this._selectedBreakpoint?.source?.path;
398
+ const breakpointData = breakpoints.map(b => {
399
+ const pos = editor.state.doc.line(b.line!).from;
400
+ const selected =
401
+ b.line! === selectedLine && b.source?.path === selectedPath;
402
+ return { pos, selected };
309
403
  });
310
404
 
311
405
  editor.editor.dispatch({
312
- effects: this._breakpointEffect.of({ pos: breakpointPos })
406
+ effects: this._breakpointEffect.of(breakpointData)
313
407
  });
314
408
  }
315
409
 
@@ -334,7 +428,7 @@ export class EditorHandler implements IDisposable {
334
428
 
335
429
  const view = (editor as CodeMirrorEditor).editor;
336
430
  view.dispatch({
337
- effects: this._breakpointEffect.of({ pos: [] })
431
+ effects: this._breakpointEffect.of([])
338
432
  });
339
433
  }
340
434
 
@@ -352,7 +446,9 @@ export class EditorHandler implements IDisposable {
352
446
  private _id: string;
353
447
  private _debuggerService: IDebugger;
354
448
  private _editor: () => CodeEditor.IEditor | null;
355
- private _breakpointEffect: StateEffectType<{ pos: number[] }>;
449
+ private _breakpointEffect: StateEffectType<
450
+ { pos: number; selected: boolean }[]
451
+ >;
356
452
  private _breakpointState: StateField<RangeSet<GutterMarker>>;
357
453
  private _gutter: Compartment;
358
454
  private _highlightDeco: Decoration;
@@ -360,6 +456,7 @@ export class EditorHandler implements IDisposable {
360
456
  private _editorMonitor: ActivityMonitor<ISharedText, SourceChange>;
361
457
  private _path: string;
362
458
  private _src: ISharedText;
459
+ private _selectedBreakpoint: IDebugger.IBreakpoint | null;
363
460
  }
364
461
 
365
462
  /**
@@ -405,16 +502,35 @@ export namespace EditorHandler {
405
502
  *
406
503
  * @param editor The editor to highlight.
407
504
  * @param line The line number.
505
+ * @param scrollLogicalPosition the position of the the widget after scroll, or false
506
+ * if no scroll is expected.
408
507
  */
409
508
  export function showCurrentLine(
410
509
  editor: CodeEditor.IEditor,
411
- line: number
510
+ line: number,
511
+ scrollLogicalPosition: ScrollLogicalPosition | false = 'nearest'
412
512
  ): void {
413
513
  clearHighlight(editor);
414
514
  const cmEditor = editor as CodeMirrorEditor;
415
515
  const linePos = cmEditor.doc.line(line).from;
516
+
517
+ const effects: StateEffect<any>[] = [
518
+ _highlightEffect.of({ pos: [linePos] })
519
+ ];
520
+
521
+ if (scrollLogicalPosition) {
522
+ // getOffsetAt increases the line number before scrolling to it, because
523
+ // Jupyter uses 0-indexes line number while CM6 uses 1-indexes line number.
524
+ // In this case, the line number is 1-indexes as it comes from the debugProtocol
525
+ // stackFrame https://microsoft.github.io/debug-adapter-protocol/specification#Types_StackFrame,
526
+ // therefore we need to decrease it first.
527
+ const offset = cmEditor.getOffsetAt({ line: line - 1, column: 0 });
528
+ effects.push(
529
+ EditorView.scrollIntoView(offset, { y: scrollLogicalPosition })
530
+ );
531
+ }
416
532
  cmEditor.editor.dispatch({
417
- effects: _highlightEffect.of({ pos: [linePos] })
533
+ effects: effects
418
534
  });
419
535
  }
420
536
 
@@ -442,8 +558,32 @@ namespace Private {
442
558
  * Create a marker DOM element for a breakpoint.
443
559
  */
444
560
  export const breakpointMarker = new (class extends GutterMarker {
445
- toDOM() {
446
- const marker = document.createTextNode('');
561
+ toDOM(view: EditorView) {
562
+ const marker = document.createElement('span');
563
+ marker.className = 'cm-breakpoint-gutter';
564
+ marker.ariaLabel = view.state.phrase('Breakpoint');
565
+
566
+ const iconNode = breakpointIcon.element({
567
+ tag: 'span',
568
+ className: 'cm-breakpoint-icon'
569
+ });
570
+
571
+ marker.appendChild(iconNode);
572
+ return marker;
573
+ }
574
+ })();
575
+
576
+ export const selectedBreakpointMarker = new (class extends GutterMarker {
577
+ toDOM(view: EditorView) {
578
+ const marker = document.createElement('span');
579
+ marker.className = 'cm-breakpoint-gutter';
580
+ marker.ariaLabel = view.state.phrase('Selected breakpoint');
581
+ const iconNode = selectedBreakpointIcon.element({
582
+ tag: 'span',
583
+ className: 'cm-selected-breakpoint-icon'
584
+ });
585
+
586
+ marker.appendChild(iconNode);
447
587
  return marker;
448
588
  }
449
589
  })();