@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/debugger.d.ts CHANGED
@@ -86,6 +86,9 @@ export declare namespace Debugger {
86
86
  const pauseOnExceptions = "debugger:pause-on-exceptions";
87
87
  const copyToClipboard = "debugger:copy-to-clipboard";
88
88
  const copyToGlobals = "debugger:copy-to-globals";
89
+ const invokeConsole = "debugger:invoke-console-completer";
90
+ const selectConsole = "debugger:select-console-completion";
91
+ const executeConsole = "debugger:run-in-console";
89
92
  const openSource = "debugger:open-source";
90
93
  }
91
94
  /**
package/lib/debugger.js CHANGED
@@ -102,6 +102,9 @@ export var Debugger;
102
102
  CommandIDs.pauseOnExceptions = 'debugger:pause-on-exceptions';
103
103
  CommandIDs.copyToClipboard = 'debugger:copy-to-clipboard';
104
104
  CommandIDs.copyToGlobals = 'debugger:copy-to-globals';
105
+ CommandIDs.invokeConsole = 'debugger:invoke-console-completer';
106
+ CommandIDs.selectConsole = 'debugger:select-console-completion';
107
+ CommandIDs.executeConsole = 'debugger:run-in-console';
105
108
  CommandIDs.openSource = 'debugger:open-source';
106
109
  })(CommandIDs = Debugger.CommandIDs || (Debugger.CommandIDs = {}));
107
110
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"debugger.js","sourceRoot":"","sources":["../src/debugger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debugger.js","sourceRoot":"","sources":["../src/debugger.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,13 @@ export declare class EditorHandler implements IDisposable {
41
41
  * Send the breakpoints from the editor UI via the debug service.
42
42
  */
43
43
  private _sendEditorBreakpoints;
44
+ /**
45
+ * Handle a click on the gutter.
46
+ *
47
+ * @param editor The editor from where the click originated.
48
+ * @param position The position corresponding to the click event.
49
+ */
50
+ private _getEffectiveClickedLine;
44
51
  /**
45
52
  * Handle a click on the gutter.
46
53
  *
@@ -73,6 +80,7 @@ export declare class EditorHandler implements IDisposable {
73
80
  private _editorMonitor;
74
81
  private _path;
75
82
  private _src;
83
+ private _selectedBreakpoint;
76
84
  }
77
85
  /**
78
86
  * A namespace for EditorHandler `statics`.
@@ -111,8 +119,10 @@ export declare namespace EditorHandler {
111
119
  *
112
120
  * @param editor The editor to highlight.
113
121
  * @param line The line number.
122
+ * @param scrollLogicalPosition the position of the the widget after scroll, or false
123
+ * if no scroll is expected.
114
124
  */
115
- function showCurrentLine(editor: CodeEditor.IEditor, line: number): void;
125
+ function showCurrentLine(editor: CodeEditor.IEditor, line: number, scrollLogicalPosition?: ScrollLogicalPosition | false): void;
116
126
  /**
117
127
  * Remove all line highlighting indicators for the given editor.
118
128
  *
@@ -4,6 +4,7 @@ import { ActivityMonitor } from '@jupyterlab/coreutils';
4
4
  import { Signal } from '@lumino/signaling';
5
5
  import { Compartment, Prec, RangeSet, StateEffect, StateField } from '@codemirror/state';
6
6
  import { Decoration, EditorView, gutter, GutterMarker } from '@codemirror/view';
7
+ import { breakpointIcon, selectedBreakpointIcon } from '@jupyterlab/ui-components';
7
8
  /**
8
9
  * The class name added to the current line.
9
10
  */
@@ -35,6 +36,8 @@ export class EditorHandler {
35
36
  this._editorMonitor.activityStopped.connect(() => {
36
37
  this._sendEditorBreakpoints();
37
38
  }, this);
39
+ this._selectedBreakpoint =
40
+ this._debuggerService.model.breakpoints.selectedBreakpoint;
38
41
  this._debuggerService.model.breakpoints.changed.connect(async () => {
39
42
  const editor = this.editor;
40
43
  if (!editor || editor.isDisposed) {
@@ -49,6 +52,10 @@ export class EditorHandler {
49
52
  }
50
53
  this._addBreakpointsToEditor();
51
54
  });
55
+ this._debuggerService.model.breakpoints.selectedChanged.connect((_, breakpoint) => {
56
+ this._selectedBreakpoint = breakpoint;
57
+ this._addBreakpointsToEditor();
58
+ });
52
59
  this._debuggerService.model.callstack.currentFrameChanged.connect(() => {
53
60
  const editor = this.editor;
54
61
  if (editor) {
@@ -56,29 +63,33 @@ export class EditorHandler {
56
63
  }
57
64
  });
58
65
  this._breakpointEffect = StateEffect.define({
59
- map: (value, mapping) => ({ pos: value.pos.map(v => mapping.mapPos(v)) })
66
+ map: (value, mapping) => value.map(v => ({
67
+ pos: mapping.mapPos(v.pos),
68
+ selected: v.selected
69
+ }))
60
70
  });
61
71
  this._breakpointState = StateField.define({
62
72
  create: () => {
63
73
  return RangeSet.empty;
64
74
  },
65
75
  update: (breakpoints, transaction) => {
66
- breakpoints = breakpoints.map(transaction.changes);
76
+ let hasEffect = false;
77
+ let decorations = [];
67
78
  for (let ef of transaction.effects) {
68
79
  if (ef.is(this._breakpointEffect)) {
69
- let e = ef;
70
- if (e.value.pos.length) {
71
- breakpoints = breakpoints.update({
72
- add: e.value.pos.map(v => Private.breakpointMarker.range(v)),
73
- sort: true
74
- });
75
- }
76
- else {
77
- breakpoints = RangeSet.empty;
78
- }
80
+ hasEffect = true;
81
+ decorations = ef.value.map(({ pos, selected }) => {
82
+ const marker = selected
83
+ ? Private.selectedBreakpointMarker
84
+ : Private.breakpointMarker;
85
+ return marker.range(pos);
86
+ });
79
87
  }
80
88
  }
81
- return breakpoints;
89
+ if (hasEffect) {
90
+ return RangeSet.of(decorations, true);
91
+ }
92
+ return breakpoints.map(transaction.changes);
82
93
  }
83
94
  });
84
95
  this._gutter = new Compartment();
@@ -191,6 +202,35 @@ export class EditorHandler {
191
202
  });
192
203
  void this._debuggerService.updateBreakpoints(this._src.getSource(), breakpoints, this._path);
193
204
  }
205
+ /**
206
+ * Handle a click on the gutter.
207
+ *
208
+ * @param editor The editor from where the click originated.
209
+ * @param position The position corresponding to the click event.
210
+ */
211
+ _getEffectiveClickedLine(editor, position) {
212
+ let clickedLine = editor.state.doc.lineAt(position);
213
+ let clickedLineNumber = clickedLine.number;
214
+ let targetLine = undefined;
215
+ let isLineEmpty = false; /* is true is the clicked line of code is empty */
216
+ if (clickedLine.text.trim() === '') {
217
+ isLineEmpty = true;
218
+ while (clickedLineNumber > 1) {
219
+ clickedLineNumber--;
220
+ const prevLine = editor.state.doc.line(clickedLineNumber);
221
+ if (prevLine.text.trim() !== '') {
222
+ targetLine = prevLine;
223
+ break;
224
+ }
225
+ }
226
+ }
227
+ else {
228
+ if (isLineEmpty === false) {
229
+ targetLine = clickedLine;
230
+ }
231
+ }
232
+ return [targetLine, isLineEmpty];
233
+ }
194
234
  /**
195
235
  * Handle a click on the gutter.
196
236
  *
@@ -202,40 +242,65 @@ export class EditorHandler {
202
242
  if (this._id !== ((_b = (_a = this._debuggerService.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.id)) {
203
243
  return;
204
244
  }
205
- const lineNumber = editor.state.doc.lineAt(position).number;
245
+ const [clickedLine, isLineEmpty] = this._getEffectiveClickedLine(editor, position);
246
+ let breakpoints = this._getBreakpoints();
206
247
  let stateBreakpoints = editor.state.field(this._breakpointState);
207
248
  let hasBreakpoint = false;
208
- stateBreakpoints.between(position, position, () => {
209
- hasBreakpoint = true;
210
- });
211
- let breakpoints = this._getBreakpoints();
212
- if (hasBreakpoint) {
213
- breakpoints = breakpoints.filter(ele => ele.line !== lineNumber);
214
- }
215
- else {
216
- breakpoints.push(Private.createBreakpoint((_c = this._path) !== null && _c !== void 0 ? _c : this._debuggerService.session.connection.name, lineNumber));
249
+ if (clickedLine) {
250
+ stateBreakpoints.between(clickedLine === null || clickedLine === void 0 ? void 0 : clickedLine.from, clickedLine === null || clickedLine === void 0 ? void 0 : clickedLine.from, () => {
251
+ hasBreakpoint = true;
252
+ });
253
+ if (!hasBreakpoint) {
254
+ /* if there is no breakpoint at effective clickedLine : add one */
255
+ this._debuggerService.model.breakpoints.selectedBreakpoint = null;
256
+ const newBreakpoint = Private.createBreakpoint((_c = this._path) !== null && _c !== void 0 ? _c : this._debuggerService.session.connection.name, clickedLine.number);
257
+ breakpoints.push(newBreakpoint);
258
+ }
259
+ else {
260
+ /* if there is already a breakpoint */
261
+ if (!isLineEmpty) {
262
+ /* remove the in place breakpoint if the clicked line of code is not empty*/
263
+ breakpoints = breakpoints.filter(ele => ele.line !== clickedLine.number);
264
+ if (this._selectedBreakpoint) {
265
+ /* if the breakpoint is a selected one: remove it*/
266
+ breakpoints = breakpoints.filter(ele => { var _a; return ele.line !== ((_a = this._selectedBreakpoint) === null || _a === void 0 ? void 0 : _a.line); });
267
+ }
268
+ }
269
+ else {
270
+ /* if the clicked line of code is empty, find the breakpoint at the effective clicked line
271
+ and make it the selected breakpoint*/
272
+ const breakPointAtClickedLine = breakpoints.find(b => b.line === clickedLine.number);
273
+ if (breakPointAtClickedLine) {
274
+ this._debuggerService.model.breakpoints.selectedBreakpoint =
275
+ breakPointAtClickedLine;
276
+ }
277
+ }
278
+ }
217
279
  }
218
- breakpoints.sort((a, b) => {
219
- return a.line - b.line;
220
- });
280
+ breakpoints.sort((a, b) => a.line - b.line);
221
281
  void this._debuggerService.updateBreakpoints(this._src.getSource(), breakpoints, this._path);
222
282
  }
223
283
  /**
224
284
  * Add the breakpoints to the editor.
225
285
  */
226
286
  _addBreakpointsToEditor() {
227
- var _a, _b;
287
+ var _a, _b, _c, _d, _e;
228
288
  if (this._id !== ((_b = (_a = this._debuggerService.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.id)) {
229
289
  return;
230
290
  }
231
291
  const editor = this.editor;
232
292
  const breakpoints = this._getBreakpoints();
233
293
  this._clearGutter(editor);
234
- const breakpointPos = breakpoints.map(b => {
235
- return editor.state.doc.line(b.line).from;
294
+ const selectedLine = (_c = this._selectedBreakpoint) === null || _c === void 0 ? void 0 : _c.line;
295
+ const selectedPath = (_e = (_d = this._selectedBreakpoint) === null || _d === void 0 ? void 0 : _d.source) === null || _e === void 0 ? void 0 : _e.path;
296
+ const breakpointData = breakpoints.map(b => {
297
+ var _a;
298
+ const pos = editor.state.doc.line(b.line).from;
299
+ const selected = b.line === selectedLine && ((_a = b.source) === null || _a === void 0 ? void 0 : _a.path) === selectedPath;
300
+ return { pos, selected };
236
301
  });
237
302
  editor.editor.dispatch({
238
- effects: this._breakpointEffect.of({ pos: breakpointPos })
303
+ effects: this._breakpointEffect.of(breakpointData)
239
304
  });
240
305
  }
241
306
  /**
@@ -256,7 +321,7 @@ export class EditorHandler {
256
321
  }
257
322
  const view = editor.editor;
258
323
  view.dispatch({
259
- effects: this._breakpointEffect.of({ pos: [] })
324
+ effects: this._breakpointEffect.of([])
260
325
  });
261
326
  }
262
327
  /**
@@ -280,13 +345,27 @@ export class EditorHandler {
280
345
  *
281
346
  * @param editor The editor to highlight.
282
347
  * @param line The line number.
348
+ * @param scrollLogicalPosition the position of the the widget after scroll, or false
349
+ * if no scroll is expected.
283
350
  */
284
- function showCurrentLine(editor, line) {
351
+ function showCurrentLine(editor, line, scrollLogicalPosition = 'nearest') {
285
352
  clearHighlight(editor);
286
353
  const cmEditor = editor;
287
354
  const linePos = cmEditor.doc.line(line).from;
355
+ const effects = [
356
+ EditorHandler._highlightEffect.of({ pos: [linePos] })
357
+ ];
358
+ if (scrollLogicalPosition) {
359
+ // getOffsetAt increases the line number before scrolling to it, because
360
+ // Jupyter uses 0-indexes line number while CM6 uses 1-indexes line number.
361
+ // In this case, the line number is 1-indexes as it comes from the debugProtocol
362
+ // stackFrame https://microsoft.github.io/debug-adapter-protocol/specification#Types_StackFrame,
363
+ // therefore we need to decrease it first.
364
+ const offset = cmEditor.getOffsetAt({ line: line - 1, column: 0 });
365
+ effects.push(EditorView.scrollIntoView(offset, { y: scrollLogicalPosition }));
366
+ }
288
367
  cmEditor.editor.dispatch({
289
- effects: EditorHandler._highlightEffect.of({ pos: [linePos] })
368
+ effects: effects
290
369
  });
291
370
  }
292
371
  EditorHandler.showCurrentLine = showCurrentLine;
@@ -315,8 +394,28 @@ var Private;
315
394
  * Create a marker DOM element for a breakpoint.
316
395
  */
317
396
  Private.breakpointMarker = new (class extends GutterMarker {
318
- toDOM() {
319
- const marker = document.createTextNode('');
397
+ toDOM(view) {
398
+ const marker = document.createElement('span');
399
+ marker.className = 'cm-breakpoint-gutter';
400
+ marker.ariaLabel = view.state.phrase('Breakpoint');
401
+ const iconNode = breakpointIcon.element({
402
+ tag: 'span',
403
+ className: 'cm-breakpoint-icon'
404
+ });
405
+ marker.appendChild(iconNode);
406
+ return marker;
407
+ }
408
+ })();
409
+ Private.selectedBreakpointMarker = new (class extends GutterMarker {
410
+ toDOM(view) {
411
+ const marker = document.createElement('span');
412
+ marker.className = 'cm-breakpoint-gutter';
413
+ marker.ariaLabel = view.state.phrase('Selected breakpoint');
414
+ const iconNode = selectedBreakpointIcon.element({
415
+ tag: 'span',
416
+ className: 'cm-selected-breakpoint-icon'
417
+ });
418
+ marker.appendChild(iconNode);
320
419
  return marker;
321
420
  }
322
421
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/handlers/editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/handlers/editor.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { ReactWidget } from '@jupyterlab/ui-components';
2
2
  import { IDebugger } from '../../tokens';
3
+ import { ITranslator } from '@jupyterlab/translation';
3
4
  /**
4
5
  * The body for a Breakpoints Panel.
5
6
  */
@@ -9,10 +10,11 @@ export declare class BreakpointsBody extends ReactWidget {
9
10
  *
10
11
  * @param model The model for the breakpoints.
11
12
  */
12
- constructor(model: IDebugger.Model.IBreakpoints);
13
+ constructor(model: IDebugger.Model.IBreakpoints, translator?: ITranslator);
13
14
  /**
14
15
  * Render the BreakpointsComponent.
15
16
  */
16
17
  render(): JSX.Element;
17
18
  private _model;
19
+ private _translator;
18
20
  }
@@ -2,6 +2,8 @@
2
2
  // Distributed under the terms of the Modified BSD License.
3
3
  import { ReactWidget } from '@jupyterlab/ui-components';
4
4
  import React, { useEffect, useState } from 'react';
5
+ import { nullTranslator } from '@jupyterlab/translation';
6
+ import { breakpointIcon, selectedBreakpointIcon } from '@jupyterlab/ui-components';
5
7
  /**
6
8
  * The body for a Breakpoints Panel.
7
9
  */
@@ -11,16 +13,17 @@ export class BreakpointsBody extends ReactWidget {
11
13
  *
12
14
  * @param model The model for the breakpoints.
13
15
  */
14
- constructor(model) {
16
+ constructor(model, translator = nullTranslator) {
15
17
  super();
16
18
  this._model = model;
19
+ this._translator = translator;
17
20
  this.addClass('jp-DebuggerBreakpoints-body');
18
21
  }
19
22
  /**
20
23
  * Render the BreakpointsComponent.
21
24
  */
22
25
  render() {
23
- return React.createElement(BreakpointsComponent, { model: this._model });
26
+ return (React.createElement(BreakpointsComponent, { model: this._model, translator: this._translator }));
24
27
  }
25
28
  }
26
29
  /**
@@ -29,8 +32,10 @@ export class BreakpointsBody extends ReactWidget {
29
32
  * @param {object} props The component props.
30
33
  * @param props.model The model for the breakpoints.
31
34
  */
32
- const BreakpointsComponent = ({ model }) => {
35
+ const BreakpointsComponent = ({ model, translator }) => {
36
+ const trans = translator.load('jupyterlab');
33
37
  const [breakpoints, setBreakpoints] = useState(Array.from(model.breakpoints.entries()));
38
+ const [selectedBreakpoint, setSelectedBreakpoint] = useState(null);
34
39
  useEffect(() => {
35
40
  const updateBreakpoints = (_, updates) => {
36
41
  setBreakpoints(Array.from(model.breakpoints.entries()));
@@ -38,14 +43,24 @@ const BreakpointsComponent = ({ model }) => {
38
43
  const restoreBreakpoints = (_) => {
39
44
  setBreakpoints(Array.from(model.breakpoints.entries()));
40
45
  };
46
+ const handleClick = (_, breakpoint) => {
47
+ model.selectedBreakpoint = breakpoint;
48
+ };
49
+ const handleSelectedChanged = (_) => {
50
+ setSelectedBreakpoint(model.selectedBreakpoint);
51
+ };
41
52
  model.changed.connect(updateBreakpoints);
42
53
  model.restored.connect(restoreBreakpoints);
54
+ model.clicked.connect(handleClick);
55
+ model.selectedChanged.connect(handleSelectedChanged);
43
56
  return () => {
44
57
  model.changed.disconnect(updateBreakpoints);
45
58
  model.restored.disconnect(restoreBreakpoints);
59
+ model.clicked.disconnect(handleClick);
60
+ model.selectedChanged.disconnect(() => handleSelectedChanged);
46
61
  };
47
62
  });
48
- return (React.createElement(React.Fragment, null, breakpoints.map(entry => (React.createElement(BreakpointCellComponent, { key: entry[0], breakpoints: entry[1], model: model })))));
63
+ return (React.createElement(React.Fragment, null, breakpoints.map(entry => (React.createElement(BreakpointCellComponent, { key: entry[0], breakpoints: entry[1], model: model, selectedBreakpoint: selectedBreakpoint, trans: trans })))));
49
64
  };
50
65
  /**
51
66
  * A React Component to display breakpoints grouped by source file.
@@ -54,15 +69,16 @@ const BreakpointsComponent = ({ model }) => {
54
69
  * @param props.breakpoints The list of breakpoints.
55
70
  * @param props.model The model for the breakpoints.
56
71
  */
57
- const BreakpointCellComponent = ({ breakpoints, model }) => {
72
+ const BreakpointCellComponent = ({ breakpoints, model, selectedBreakpoint, trans }) => {
58
73
  return (React.createElement(React.Fragment, null, breakpoints
59
74
  .sort((a, b) => {
60
75
  var _a, _b;
61
76
  return ((_a = a.line) !== null && _a !== void 0 ? _a : 0) - ((_b = b.line) !== null && _b !== void 0 ? _b : 0);
62
77
  })
63
78
  .map((breakpoint, index) => {
64
- var _a, _b;
65
- return (React.createElement(BreakpointComponent, { key: ((_b = (_a = breakpoint.source) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : '') + index, breakpoint: breakpoint, model: model }));
79
+ var _a, _b, _c, _d;
80
+ return (React.createElement(BreakpointComponent, { key: ((_b = (_a = breakpoint.source) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : '') + index, breakpoint: breakpoint, model: model, isSelected: (selectedBreakpoint === null || selectedBreakpoint === void 0 ? void 0 : selectedBreakpoint.line) === breakpoint.line &&
81
+ ((_c = selectedBreakpoint === null || selectedBreakpoint === void 0 ? void 0 : selectedBreakpoint.source) === null || _c === void 0 ? void 0 : _c.path) === ((_d = breakpoint.source) === null || _d === void 0 ? void 0 : _d.path), trans: trans }));
66
82
  })));
67
83
  };
68
84
  /**
@@ -72,7 +88,7 @@ const BreakpointCellComponent = ({ breakpoints, model }) => {
72
88
  * @param props.breakpoint The breakpoint.
73
89
  * @param props.model The model for the breakpoints.
74
90
  */
75
- const BreakpointComponent = ({ breakpoint, model }) => {
91
+ const BreakpointComponent = ({ breakpoint, model, isSelected, trans }) => {
76
92
  var _a, _b, _c;
77
93
  const moveToEndFirstCharIfSlash = (breakpointSourcePath) => {
78
94
  return breakpointSourcePath[0] === '/'
@@ -80,7 +96,7 @@ const BreakpointComponent = ({ breakpoint, model }) => {
80
96
  : breakpointSourcePath;
81
97
  };
82
98
  return (React.createElement("div", { className: 'jp-DebuggerBreakpoint', onClick: () => model.clicked.emit(breakpoint), title: (_a = breakpoint.source) === null || _a === void 0 ? void 0 : _a.path },
83
- React.createElement("span", { className: 'jp-DebuggerBreakpoint-marker' }, "\u25CF"),
99
+ React.createElement("span", { className: "jp-DebuggerBreakpoint-container" }, !isSelected ? (React.createElement(breakpointIcon.react, { "aria-label": trans.__('Breakpoint') })) : (React.createElement(selectedBreakpointIcon.react, { "aria-label": trans.__('Selected breakpoint') }))),
84
100
  React.createElement("span", { className: 'jp-DebuggerBreakpoint-source jp-left-truncated' }, moveToEndFirstCharIfSlash((_c = (_b = breakpoint.source) === null || _b === void 0 ? void 0 : _b.path) !== null && _c !== void 0 ? _c : '')),
85
101
  React.createElement("span", { className: 'jp-DebuggerBreakpoint-line' }, breakpoint.line)));
86
102
  };
@@ -1 +1 @@
1
- {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/panels/breakpoints/body.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGnD;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9C;;;;OAIG;IACH,YAAY,KAAmC;QAC7C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,oBAAC,oBAAoB,IAAC,KAAK,EAAE,IAAI,CAAC,MAAM,GAAI,CAAC;IACtD,CAAC;CAGF;AAED;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,CAAC,EAC5B,KAAK,EAGN,EAAe,EAAE;IAChB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CACxC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,iBAAiB,GAAG,CACxB,CAA+B,EAC/B,OAAgC,EAC1B,EAAE;YACR,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC;QAEF,MAAM,kBAAkB,GAAG,CAAC,CAA+B,EAAQ,EAAE;YACnE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC;QAEF,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACzC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAE3C,OAAO,GAAS,EAAE;YAChB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAC5C,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAChD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,0CACG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACxB,oBAAC,uBAAuB,IACtB,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EACb,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,EACrB,KAAK,EAAE,KAAK,GACZ,CACH,CAAC,CACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,uBAAuB,GAAG,CAAC,EAC/B,WAAW,EACX,KAAK,EAIN,EAAe,EAAE;IAChB,OAAO,CACL,0CACG,WAAW;SACT,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;;QACb,OAAO,CAAC,MAAA,CAAC,CAAC,IAAI,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,IAAI,mCAAI,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,UAAiC,EAAE,KAAK,EAAE,EAAE;;QAAC,OAAA,CACjD,oBAAC,mBAAmB,IAClB,GAAG,EAAE,CAAC,MAAA,MAAA,UAAU,CAAC,MAAM,0CAAE,IAAI,mCAAI,EAAE,CAAC,GAAG,KAAK,EAC5C,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,GACZ,CACH,CAAA;KAAA,CAAC,CACH,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG,CAAC,EAC3B,UAAU,EACV,KAAK,EAIN,EAAe,EAAE;;IAChB,MAAM,yBAAyB,GAAG,CAAC,oBAA4B,EAAU,EAAE;QACzE,OAAO,oBAAoB,CAAC,CAAC,CAAC,KAAK,GAAG;YACpC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG;YACrC,CAAC,CAAC,oBAAoB,CAAC;IAC3B,CAAC,CAAC;IACF,OAAO,CACL,6BACE,SAAS,EAAE,uBAAuB,EAClC,OAAO,EAAE,GAAS,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EACnD,KAAK,EAAE,MAAA,UAAU,CAAC,MAAM,0CAAE,IAAI;QAE9B,8BAAM,SAAS,EAAE,8BAA8B,aAAU;QACzD,8BAAM,SAAS,EAAE,gDAAgD,IAC9D,yBAAyB,CAAC,MAAA,MAAA,UAAU,CAAC,MAAM,0CAAE,IAAI,mCAAI,EAAE,CAAC,CACpD;QACP,8BAAM,SAAS,EAAE,4BAA4B,IAAG,UAAU,CAAC,IAAI,CAAQ,CACnE,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/panels/breakpoints/body.tsx"],"names":[],"mappings":"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"}
@@ -16,6 +16,18 @@ export declare class BreakpointsModel implements IDebugger.Model.IBreakpoints {
16
16
  * Signal emitted when a breakpoint is clicked.
17
17
  */
18
18
  get clicked(): Signal<this, IDebugger.IBreakpoint>;
19
+ /**
20
+ * Signal emitted when the selected breakpoint changes.
21
+ */
22
+ get selectedChanged(): Signal<this, IDebugger.IBreakpoint>;
23
+ /**
24
+ * Get selected breakpoint
25
+ */
26
+ get selectedBreakpoint(): IDebugger.IBreakpoint;
27
+ /**
28
+ * Set selected breakpoint
29
+ */
30
+ set selectedBreakpoint(selected: IDebugger.IBreakpoint);
19
31
  /**
20
32
  * Get all the breakpoints.
21
33
  */
@@ -43,4 +55,6 @@ export declare class BreakpointsModel implements IDebugger.Model.IBreakpoints {
43
55
  private _changed;
44
56
  private _restored;
45
57
  private _clicked;
58
+ private _selectedBreakpoint;
59
+ private _selectedChanged;
46
60
  }
@@ -10,6 +10,7 @@ export class BreakpointsModel {
10
10
  this._changed = new Signal(this);
11
11
  this._restored = new Signal(this);
12
12
  this._clicked = new Signal(this);
13
+ this._selectedChanged = new Signal(this);
13
14
  }
14
15
  /**
15
16
  * Signal emitted when the model changes.
@@ -29,6 +30,25 @@ export class BreakpointsModel {
29
30
  get clicked() {
30
31
  return this._clicked;
31
32
  }
33
+ /**
34
+ * Signal emitted when the selected breakpoint changes.
35
+ */
36
+ get selectedChanged() {
37
+ return this._selectedChanged;
38
+ }
39
+ /**
40
+ * Get selected breakpoint
41
+ */
42
+ get selectedBreakpoint() {
43
+ return this._selectedBreakpoint;
44
+ }
45
+ /**
46
+ * Set selected breakpoint
47
+ */
48
+ set selectedBreakpoint(selected) {
49
+ this._selectedBreakpoint = selected;
50
+ this._selectedChanged.emit(selected);
51
+ }
32
52
  /**
33
53
  * Get all the breakpoints.
34
54
  */
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/panels/breakpoints/model.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIpD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAA7B;QA2DU,iBAAY,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC1D,aAAQ,GAAG,IAAI,MAAM,CAAgC,IAAI,CAAC,CAAC;QAC3D,cAAS,GAAG,IAAI,MAAM,CAAa,IAAI,CAAC,CAAC;QACzC,aAAQ,GAAG,IAAI,MAAM,CAA8B,IAAI,CAAC,CAAC;IACnE,CAAC;IA9DC;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,EAAU,EAAE,WAAoC;QAC7D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,EAAU;;QACvB,OAAO,MAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,mCAAI,EAAE,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,WAAiD;QAClE,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;CAMF"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/panels/breakpoints/model.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIpD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAA7B;QAiFU,iBAAY,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC1D,aAAQ,GAAG,IAAI,MAAM,CAAgC,IAAI,CAAC,CAAC;QAC3D,cAAS,GAAG,IAAI,MAAM,CAAa,IAAI,CAAC,CAAC;QACzC,aAAQ,GAAG,IAAI,MAAM,CAA8B,IAAI,CAAC,CAAC;QAEzD,qBAAgB,GAAG,IAAI,MAAM,CAA8B,IAAI,CAAC,CAAC;IAC3E,CAAC;IAtFC;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,kBAAkB,CAAC,QAA+B;QACpD,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;QACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,EAAU,EAAE,WAAoC;QAC7D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,EAAU;;QACvB,OAAO,MAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,mCAAI,EAAE,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,WAAiD;QAClE,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;CAQF"}
@@ -94,7 +94,7 @@ export class SourcesBody extends Widget {
94
94
  path: path !== null && path !== void 0 ? path : ''
95
95
  };
96
96
  requestAnimationFrame(() => {
97
- EditorHandler.showCurrentLine(this._editor.editor, frame.line);
97
+ EditorHandler.showCurrentLine(this._editor.editor, frame.line, 'start');
98
98
  });
99
99
  this._editor.show();
100
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/panels/sources/body.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/panels/sources/body.ts"],"names":[],"mappings":"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"}