@jupyterlab/debugger 3.3.0-alpha.6 → 4.0.0-alpha.1
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 +8 -1
- package/lib/debugger.js +9 -1
- package/lib/debugger.js.map +1 -1
- package/lib/handler.d.ts +31 -2
- package/lib/handler.js +61 -65
- package/lib/handler.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/model.d.ts +8 -1
- package/lib/model.js +10 -0
- package/lib/model.js.map +1 -1
- package/lib/panels/breakpoints/body.d.ts +0 -1
- package/lib/panels/breakpoints/index.d.ts +2 -1
- package/lib/panels/breakpoints/index.js +7 -10
- package/lib/panels/breakpoints/index.js.map +1 -1
- package/lib/panels/callstack/body.d.ts +0 -1
- package/lib/panels/callstack/index.d.ts +2 -1
- package/lib/panels/callstack/index.js +24 -20
- package/lib/panels/callstack/index.js.map +1 -1
- package/lib/panels/callstack/model.d.ts +3 -3
- package/lib/panels/callstack/model.js +3 -1
- package/lib/panels/callstack/model.js.map +1 -1
- package/lib/panels/sources/index.d.ts +2 -2
- package/lib/panels/sources/index.js +14 -9
- package/lib/panels/sources/index.js.map +1 -1
- package/lib/panels/sources/model.d.ts +2 -2
- package/lib/panels/sources/sourcepath.d.ts +10 -0
- package/lib/panels/sources/sourcepath.js +17 -0
- package/lib/panels/sources/sourcepath.js.map +1 -0
- package/lib/panels/variables/grid.d.ts +9 -0
- package/lib/panels/variables/grid.js +83 -9
- package/lib/panels/variables/grid.js.map +1 -1
- package/lib/panels/variables/index.d.ts +10 -2
- package/lib/panels/variables/index.js +36 -14
- package/lib/panels/variables/index.js.map +1 -1
- package/lib/panels/variables/mimerenderer.d.ts +31 -0
- package/lib/panels/variables/mimerenderer.js +44 -0
- package/lib/panels/variables/mimerenderer.js.map +1 -0
- package/lib/panels/variables/scope.d.ts +0 -1
- package/lib/panels/variables/tree.d.ts +17 -1
- package/lib/panels/variables/tree.js +44 -8
- package/lib/panels/variables/tree.js.map +1 -1
- package/lib/service.d.ts +14 -0
- package/lib/service.js +45 -13
- package/lib/service.js.map +1 -1
- package/lib/sidebar.d.ts +3 -40
- package/lib/sidebar.js +13 -60
- package/lib/sidebar.js.map +1 -1
- package/lib/tokens.d.ts +95 -16
- package/lib/tokens.js +4 -0
- package/lib/tokens.js.map +1 -1
- package/package.json +25 -25
- package/style/base.css +4 -0
- package/style/breakpoints.css +2 -0
- package/style/callstack.css +2 -0
- package/style/icons.css +4 -4
- package/style/sidebar.css +5 -52
- package/style/sources.css +6 -1
- package/style/variables.css +34 -4
- package/lib/panels/breakpoints/header.d.ts +0 -16
- package/lib/panels/breakpoints/header.js +0 -30
- package/lib/panels/breakpoints/header.js.map +0 -1
- package/lib/panels/callstack/header.d.ts +0 -16
- package/lib/panels/callstack/header.js +0 -30
- package/lib/panels/callstack/header.js.map +0 -1
- package/lib/panels/sources/header.d.ts +0 -19
- package/lib/panels/sources/header.js +0 -48
- package/lib/panels/sources/header.js.map +0 -1
- package/lib/panels/variables/header.d.ts +0 -16
- package/lib/panels/variables/header.js +0 -30
- package/lib/panels/variables/header.js.map +0 -1
package/lib/debugger.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { EditorHandler as DebuggerEditorHandler } from './handlers/editor';
|
|
2
1
|
import { DebuggerConfig } from './config';
|
|
3
2
|
import { DebuggerEvaluateDialog } from './dialogs/evaluate';
|
|
4
3
|
import { ReadOnlyEditorFactory as EditorFactory } from './factory';
|
|
5
4
|
import { DebuggerHandler } from './handler';
|
|
5
|
+
import { EditorHandler as DebuggerEditorHandler } from './handlers/editor';
|
|
6
6
|
import { DebuggerModel } from './model';
|
|
7
7
|
import { VariablesBodyGrid } from './panels/variables/grid';
|
|
8
|
+
import { VariableMimeRenderer } from './panels/variables/mimerenderer';
|
|
8
9
|
import { DebuggerService } from './service';
|
|
9
10
|
import { DebuggerSession } from './session';
|
|
10
11
|
import { DebuggerSidebar } from './sidebar';
|
|
@@ -63,6 +64,11 @@ export declare namespace Debugger {
|
|
|
63
64
|
*/
|
|
64
65
|
class VariablesGrid extends VariablesBodyGrid {
|
|
65
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* A widget to display data according to its mime type
|
|
69
|
+
*/
|
|
70
|
+
class VariableRenderer extends VariableMimeRenderer {
|
|
71
|
+
}
|
|
66
72
|
/**
|
|
67
73
|
* The command IDs used by the debugger plugin.
|
|
68
74
|
*/
|
|
@@ -74,6 +80,7 @@ export declare namespace Debugger {
|
|
|
74
80
|
const stepIn = "debugger:stepIn";
|
|
75
81
|
const stepOut = "debugger:stepOut";
|
|
76
82
|
const inspectVariable = "debugger:inspect-variable";
|
|
83
|
+
const renderMimeVariable = "debugger:render-mime-variable";
|
|
77
84
|
const evaluate = "debugger:evaluate";
|
|
78
85
|
const restartDebug = "debugger:restart-debug";
|
|
79
86
|
}
|
package/lib/debugger.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
// Copyright (c) Jupyter Development Team.
|
|
2
2
|
// Distributed under the terms of the Modified BSD License.
|
|
3
3
|
import { codeIcon, runIcon, stopIcon } from '@jupyterlab/ui-components';
|
|
4
|
-
import { EditorHandler as DebuggerEditorHandler } from './handlers/editor';
|
|
5
4
|
import { DebuggerConfig } from './config';
|
|
6
5
|
import { DebuggerEvaluateDialog } from './dialogs/evaluate';
|
|
7
6
|
import { ReadOnlyEditorFactory as EditorFactory } from './factory';
|
|
8
7
|
import { DebuggerHandler } from './handler';
|
|
8
|
+
import { EditorHandler as DebuggerEditorHandler } from './handlers/editor';
|
|
9
9
|
import { closeAllIcon as closeAll, stepIntoIcon as stepInto, stepOutIcon as stepOut, stepOverIcon as stepOver, variableIcon as variable, viewBreakpointIcon as viewBreakpoint } from './icons';
|
|
10
10
|
import { DebuggerModel } from './model';
|
|
11
11
|
import { VariablesBodyGrid } from './panels/variables/grid';
|
|
12
|
+
import { VariableMimeRenderer } from './panels/variables/mimerenderer';
|
|
12
13
|
import { DebuggerService } from './service';
|
|
13
14
|
import { DebuggerSession } from './session';
|
|
14
15
|
import { DebuggerSidebar } from './sidebar';
|
|
@@ -78,6 +79,12 @@ export var Debugger;
|
|
|
78
79
|
class VariablesGrid extends VariablesBodyGrid {
|
|
79
80
|
}
|
|
80
81
|
Debugger.VariablesGrid = VariablesGrid;
|
|
82
|
+
/**
|
|
83
|
+
* A widget to display data according to its mime type
|
|
84
|
+
*/
|
|
85
|
+
class VariableRenderer extends VariableMimeRenderer {
|
|
86
|
+
}
|
|
87
|
+
Debugger.VariableRenderer = VariableRenderer;
|
|
81
88
|
/**
|
|
82
89
|
* The command IDs used by the debugger plugin.
|
|
83
90
|
*/
|
|
@@ -90,6 +97,7 @@ export var Debugger;
|
|
|
90
97
|
CommandIDs.stepIn = 'debugger:stepIn';
|
|
91
98
|
CommandIDs.stepOut = 'debugger:stepOut';
|
|
92
99
|
CommandIDs.inspectVariable = 'debugger:inspect-variable';
|
|
100
|
+
CommandIDs.renderMimeVariable = 'debugger:render-mime-variable';
|
|
93
101
|
CommandIDs.evaluate = 'debugger:evaluate';
|
|
94
102
|
CommandIDs.restartDebug = 'debugger:restart-debug';
|
|
95
103
|
})(CommandIDs = Debugger.CommandIDs || (Debugger.CommandIDs = {}));
|
package/lib/debugger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugger.js","sourceRoot":"","sources":["../src/debugger.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"debugger.js","sourceRoot":"","sources":["../src/debugger.ts"],"names":[],"mappings":"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"}
|
package/lib/handler.d.ts
CHANGED
|
@@ -11,13 +11,17 @@ import { IDebugger } from './tokens';
|
|
|
11
11
|
/**
|
|
12
12
|
* A handler for debugging a widget.
|
|
13
13
|
*/
|
|
14
|
-
export declare class DebuggerHandler {
|
|
14
|
+
export declare class DebuggerHandler implements DebuggerHandler.IHandler {
|
|
15
15
|
/**
|
|
16
16
|
* Instantiate a new DebuggerHandler.
|
|
17
17
|
*
|
|
18
18
|
* @param options The instantiation options for a DebuggerHandler.
|
|
19
19
|
*/
|
|
20
20
|
constructor(options: DebuggerHandler.IOptions);
|
|
21
|
+
/**
|
|
22
|
+
* Get the active widget.
|
|
23
|
+
*/
|
|
24
|
+
get activeWidget(): DebuggerHandler.SessionWidget[DebuggerHandler.SessionType] | null;
|
|
21
25
|
/**
|
|
22
26
|
* Update a debug handler for the given widget, and
|
|
23
27
|
* handle kernel changed events.
|
|
@@ -45,13 +49,13 @@ export declare class DebuggerHandler {
|
|
|
45
49
|
private _shell;
|
|
46
50
|
private _service;
|
|
47
51
|
private _previousConnection;
|
|
52
|
+
private _activeWidget;
|
|
48
53
|
private _handlers;
|
|
49
54
|
private _contextKernelChangedHandlers;
|
|
50
55
|
private _kernelChangedHandlers;
|
|
51
56
|
private _statusChangedHandlers;
|
|
52
57
|
private _iopubMessageHandlers;
|
|
53
58
|
private _iconButtons;
|
|
54
|
-
private _toggleButtons;
|
|
55
59
|
}
|
|
56
60
|
/**
|
|
57
61
|
* A namespace for DebuggerHandler `statics`
|
|
@@ -74,6 +78,31 @@ export declare namespace DebuggerHandler {
|
|
|
74
78
|
*/
|
|
75
79
|
service: IDebugger;
|
|
76
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* An interface for debugger handler.
|
|
83
|
+
*/
|
|
84
|
+
interface IHandler {
|
|
85
|
+
/**
|
|
86
|
+
* Get the active widget.
|
|
87
|
+
*/
|
|
88
|
+
activeWidget: DebuggerHandler.SessionWidget[DebuggerHandler.SessionType] | null;
|
|
89
|
+
/**
|
|
90
|
+
* Update a debug handler for the given widget, and
|
|
91
|
+
* handle kernel changed events.
|
|
92
|
+
*
|
|
93
|
+
* @param widget The widget to update.
|
|
94
|
+
* @param connection The session connection.
|
|
95
|
+
*/
|
|
96
|
+
update(widget: DebuggerHandler.SessionWidget[DebuggerHandler.SessionType], connection: Session.ISessionConnection | null): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* Update a debug handler for the given widget, and
|
|
99
|
+
* handle connection kernel changed events.
|
|
100
|
+
*
|
|
101
|
+
* @param widget The widget to update.
|
|
102
|
+
* @param sessionContext The session context.
|
|
103
|
+
*/
|
|
104
|
+
updateContext(widget: DebuggerHandler.SessionWidget[DebuggerHandler.SessionType], sessionContext: ISessionContext): Promise<void>;
|
|
105
|
+
}
|
|
77
106
|
/**
|
|
78
107
|
* The types of sessions that can be debugged.
|
|
79
108
|
*/
|
package/lib/handler.js
CHANGED
|
@@ -1,54 +1,53 @@
|
|
|
1
1
|
// Copyright (c) Jupyter Development Team.
|
|
2
2
|
// Distributed under the terms of the Modified BSD License.
|
|
3
3
|
import { nullTranslator } from '@jupyterlab/translation';
|
|
4
|
-
import {
|
|
4
|
+
import { bugDotIcon, bugIcon, ToolbarButton } from '@jupyterlab/ui-components';
|
|
5
5
|
import { Debugger } from './debugger';
|
|
6
6
|
import { ConsoleHandler } from './handlers/console';
|
|
7
7
|
import { FileHandler } from './handlers/file';
|
|
8
8
|
import { NotebookHandler } from './handlers/notebook';
|
|
9
|
+
const TOOLBAR_DEBUGGER_ITEM = 'debugger-icon';
|
|
9
10
|
/**
|
|
10
11
|
* Add a bug icon to the widget toolbar to enable and disable debugging.
|
|
11
12
|
*
|
|
12
13
|
* @param widget The widget to add the debug toolbar button to.
|
|
13
14
|
* @param onClick The callback when the toolbar button is clicked.
|
|
14
15
|
*/
|
|
15
|
-
function updateIconButton(widget, onClick, translator) {
|
|
16
|
-
translator = translator || nullTranslator;
|
|
16
|
+
function updateIconButton(widget, onClick, enabled, pressed, translator = nullTranslator) {
|
|
17
17
|
const trans = translator.load('jupyterlab');
|
|
18
18
|
const icon = new ToolbarButton({
|
|
19
19
|
className: 'jp-DebuggerBugButton',
|
|
20
20
|
icon: bugIcon,
|
|
21
|
-
tooltip: trans.__('Enable
|
|
21
|
+
tooltip: trans.__('Enable Debugger'),
|
|
22
|
+
pressedIcon: bugDotIcon,
|
|
23
|
+
pressedTooltip: trans.__('Disable Debugger'),
|
|
24
|
+
disabledTooltip: trans.__('Select a kernel that supports debugging to enable debugger'),
|
|
25
|
+
enabled,
|
|
26
|
+
pressed,
|
|
22
27
|
onClick
|
|
23
28
|
});
|
|
24
|
-
widget.toolbar.
|
|
29
|
+
if (!widget.toolbar.insertBefore('kernelName', TOOLBAR_DEBUGGER_ITEM, icon)) {
|
|
30
|
+
widget.toolbar.addItem(TOOLBAR_DEBUGGER_ITEM, icon);
|
|
31
|
+
}
|
|
25
32
|
return icon;
|
|
26
33
|
}
|
|
27
34
|
/**
|
|
28
|
-
*
|
|
35
|
+
* Updates button state to on/off,
|
|
36
|
+
* adds/removes css class to update styling
|
|
29
37
|
*
|
|
30
|
-
* @param widget
|
|
31
|
-
* @param
|
|
38
|
+
* @param widget the debug button widget
|
|
39
|
+
* @param pressed true if pressed, false otherwise
|
|
40
|
+
* @param enabled true if widget enabled, false otherwise
|
|
41
|
+
* @param onClick click handler
|
|
32
42
|
*/
|
|
33
|
-
function
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
button.caption = trans.__('Enable / Disable Debugger');
|
|
40
|
-
button.handleEvent = (event) => {
|
|
41
|
-
event.preventDefault();
|
|
42
|
-
switch (event.type) {
|
|
43
|
-
case 'click':
|
|
44
|
-
onClick();
|
|
45
|
-
break;
|
|
46
|
-
default:
|
|
47
|
-
break;
|
|
43
|
+
function updateIconButtonState(widget, pressed, enabled = true, onClick) {
|
|
44
|
+
if (widget) {
|
|
45
|
+
widget.enabled = enabled;
|
|
46
|
+
widget.pressed = pressed;
|
|
47
|
+
if (onClick) {
|
|
48
|
+
widget.onClick = onClick;
|
|
48
49
|
}
|
|
49
|
-
}
|
|
50
|
-
widget.toolbar.addItem('debugger-button', button);
|
|
51
|
-
return button;
|
|
50
|
+
}
|
|
52
51
|
}
|
|
53
52
|
/**
|
|
54
53
|
* A handler for debugging a widget.
|
|
@@ -66,11 +65,16 @@ export class DebuggerHandler {
|
|
|
66
65
|
this._statusChangedHandlers = {};
|
|
67
66
|
this._iopubMessageHandlers = {};
|
|
68
67
|
this._iconButtons = {};
|
|
69
|
-
this._toggleButtons = {};
|
|
70
68
|
this._type = options.type;
|
|
71
69
|
this._shell = options.shell;
|
|
72
70
|
this._service = options.service;
|
|
73
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Get the active widget.
|
|
74
|
+
*/
|
|
75
|
+
get activeWidget() {
|
|
76
|
+
return this._activeWidget;
|
|
77
|
+
}
|
|
74
78
|
/**
|
|
75
79
|
* Update a debug handler for the given widget, and
|
|
76
80
|
* handle kernel changed events.
|
|
@@ -121,6 +125,7 @@ export class DebuggerHandler {
|
|
|
121
125
|
}
|
|
122
126
|
connection.iopubMessage.connect(iopubMessage);
|
|
123
127
|
this._iopubMessageHandlers[widget.id] = iopubMessage;
|
|
128
|
+
this._activeWidget = widget;
|
|
124
129
|
return this.updateWidget(widget, connection);
|
|
125
130
|
}
|
|
126
131
|
/**
|
|
@@ -214,61 +219,52 @@ export class DebuggerHandler {
|
|
|
214
219
|
}
|
|
215
220
|
updateAttribute();
|
|
216
221
|
};
|
|
217
|
-
const addToolbarButton = () => {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
if (!this._toggleButtons[widget.id]) {
|
|
222
|
-
this._toggleButtons[widget.id] = updateToggleButton(widget, this._service.isStarted, toggleDebugging);
|
|
223
|
-
}
|
|
224
|
-
this._toggleButtons[widget.id].value = this._service.isStarted;
|
|
225
|
-
};
|
|
226
|
-
const removeToolbarButton = () => {
|
|
227
|
-
if (!this._iconButtons[widget.id]) {
|
|
228
|
-
return;
|
|
222
|
+
const addToolbarButton = (enabled = true) => {
|
|
223
|
+
const debugButton = this._iconButtons[widget.id];
|
|
224
|
+
if (!debugButton) {
|
|
225
|
+
this._iconButtons[widget.id] = updateIconButton(widget, toggleDebugging, this._service.isStarted, enabled);
|
|
229
226
|
}
|
|
230
227
|
else {
|
|
231
|
-
this.
|
|
232
|
-
delete this._iconButtons[widget.id];
|
|
233
|
-
}
|
|
234
|
-
if (!this._toggleButtons[widget.id]) {
|
|
235
|
-
return;
|
|
236
|
-
}
|
|
237
|
-
else {
|
|
238
|
-
this._toggleButtons[widget.id].dispose();
|
|
239
|
-
delete this._toggleButtons[widget.id];
|
|
228
|
+
updateIconButtonState(debugButton, this._service.isStarted, enabled, toggleDebugging);
|
|
240
229
|
}
|
|
241
230
|
};
|
|
242
|
-
const
|
|
231
|
+
const isDebuggerOn = () => {
|
|
243
232
|
var _a;
|
|
233
|
+
return (this._service.isStarted &&
|
|
234
|
+
((_a = this._previousConnection) === null || _a === void 0 ? void 0 : _a.id) === (connection === null || connection === void 0 ? void 0 : connection.id));
|
|
235
|
+
};
|
|
236
|
+
const stopDebugger = async () => {
|
|
237
|
+
this._service.session.connection = connection;
|
|
238
|
+
await this._service.stop();
|
|
239
|
+
};
|
|
240
|
+
const startDebugger = async () => {
|
|
241
|
+
this._service.session.connection = connection;
|
|
242
|
+
this._previousConnection = connection;
|
|
243
|
+
await this._service.restoreState(true);
|
|
244
|
+
await this._service.displayDefinedVariables();
|
|
245
|
+
};
|
|
246
|
+
const toggleDebugging = async () => {
|
|
244
247
|
// bail if the widget doesn't have focus
|
|
245
248
|
if (!hasFocus()) {
|
|
246
249
|
return;
|
|
247
250
|
}
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
this._toggleButtons[widget.id].value = false;
|
|
252
|
-
}
|
|
253
|
-
this._service.session.connection = connection;
|
|
254
|
-
await this._service.stop();
|
|
251
|
+
const debugButton = this._iconButtons[widget.id];
|
|
252
|
+
if (isDebuggerOn()) {
|
|
253
|
+
await stopDebugger();
|
|
255
254
|
removeHandlers();
|
|
255
|
+
updateIconButtonState(debugButton, false);
|
|
256
256
|
}
|
|
257
257
|
else {
|
|
258
|
-
|
|
259
|
-
this._toggleButtons[widget.id].value = true;
|
|
260
|
-
}
|
|
261
|
-
this._service.session.connection = connection;
|
|
262
|
-
this._previousConnection = connection;
|
|
263
|
-
await this._service.restoreState(true);
|
|
264
|
-
await this._service.displayDefinedVariables();
|
|
258
|
+
await startDebugger();
|
|
265
259
|
createHandler();
|
|
260
|
+
updateIconButtonState(debugButton, true);
|
|
266
261
|
}
|
|
267
262
|
};
|
|
263
|
+
addToolbarButton(false);
|
|
268
264
|
const debuggingEnabled = await this._service.isAvailable(connection);
|
|
269
265
|
if (!debuggingEnabled) {
|
|
270
266
|
removeHandlers();
|
|
271
|
-
|
|
267
|
+
updateIconButtonState(this._iconButtons[widget.id], false, false);
|
|
272
268
|
return;
|
|
273
269
|
}
|
|
274
270
|
// update the active debug session
|
|
@@ -284,7 +280,7 @@ export class DebuggerHandler {
|
|
|
284
280
|
if (this._service.isStarted && !this._service.hasStoppedThreads()) {
|
|
285
281
|
await this._service.displayDefinedVariables();
|
|
286
282
|
}
|
|
287
|
-
|
|
283
|
+
updateIconButtonState(this._iconButtons[widget.id], this._service.isStarted, true);
|
|
288
284
|
// check the state of the debug session
|
|
289
285
|
if (!this._service.isStarted) {
|
|
290
286
|
removeHandlers();
|
package/lib/handler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAU3D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* @module debugger
|
|
6
6
|
*/
|
|
7
7
|
export { Debugger } from './debugger';
|
|
8
|
-
export { IDebugger, IDebuggerConfig, IDebuggerSources, IDebuggerSidebar } from './tokens';
|
|
8
|
+
export { IDebugger, IDebuggerConfig, IDebuggerSources, IDebuggerSidebar, IDebuggerHandler } from './tokens';
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACL,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACL,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,UAAU,CAAC"}
|
package/lib/model.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { IDebugger } from './tokens';
|
|
1
2
|
import { ISignal } from '@lumino/signaling';
|
|
2
3
|
import { BreakpointsModel } from './panels/breakpoints/model';
|
|
3
4
|
import { CallstackModel } from './panels/callstack/model';
|
|
@@ -6,7 +7,7 @@ import { VariablesModel } from './panels/variables/model';
|
|
|
6
7
|
/**
|
|
7
8
|
* A model for a debugger.
|
|
8
9
|
*/
|
|
9
|
-
export declare class DebuggerModel {
|
|
10
|
+
export declare class DebuggerModel implements IDebugger.Model.IService {
|
|
10
11
|
/**
|
|
11
12
|
* Instantiate a new DebuggerModel
|
|
12
13
|
*/
|
|
@@ -31,6 +32,11 @@ export declare class DebuggerModel {
|
|
|
31
32
|
* A signal emitted when the debugger widget is disposed.
|
|
32
33
|
*/
|
|
33
34
|
get disposed(): ISignal<this, void>;
|
|
35
|
+
/**
|
|
36
|
+
* Whether the kernel support rich variable rendering based on mime type.
|
|
37
|
+
*/
|
|
38
|
+
get hasRichVariableRendering(): boolean;
|
|
39
|
+
set hasRichVariableRendering(v: boolean);
|
|
34
40
|
/**
|
|
35
41
|
* Whether the model is disposed.
|
|
36
42
|
*/
|
|
@@ -65,6 +71,7 @@ export declare class DebuggerModel {
|
|
|
65
71
|
clear(): void;
|
|
66
72
|
private _disposed;
|
|
67
73
|
private _isDisposed;
|
|
74
|
+
private _hasRichVariableRendering;
|
|
68
75
|
private _stoppedThreads;
|
|
69
76
|
private _title;
|
|
70
77
|
private _titleChanged;
|
package/lib/model.js
CHANGED
|
@@ -15,6 +15,7 @@ export class DebuggerModel {
|
|
|
15
15
|
constructor() {
|
|
16
16
|
this._disposed = new Signal(this);
|
|
17
17
|
this._isDisposed = false;
|
|
18
|
+
this._hasRichVariableRendering = false;
|
|
18
19
|
this._stoppedThreads = new Set();
|
|
19
20
|
this._title = '-';
|
|
20
21
|
this._titleChanged = new Signal(this);
|
|
@@ -31,6 +32,15 @@ export class DebuggerModel {
|
|
|
31
32
|
get disposed() {
|
|
32
33
|
return this._disposed;
|
|
33
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Whether the kernel support rich variable rendering based on mime type.
|
|
37
|
+
*/
|
|
38
|
+
get hasRichVariableRendering() {
|
|
39
|
+
return this._hasRichVariableRendering;
|
|
40
|
+
}
|
|
41
|
+
set hasRichVariableRendering(v) {
|
|
42
|
+
this._hasRichVariableRendering = v;
|
|
43
|
+
}
|
|
34
44
|
/**
|
|
35
45
|
* Whether the model is disposed.
|
|
36
46
|
*/
|
package/lib/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAI3D,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;GAEG;AACH,MAAM,OAAO,aAAa;IACxB;;OAEG;IACH;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { ITranslator } from '@jupyterlab/translation';
|
|
2
|
+
import { PanelWithToolbar } from '@jupyterlab/ui-components';
|
|
2
3
|
import { Signal } from '@lumino/signaling';
|
|
3
4
|
import { Panel } from '@lumino/widgets';
|
|
4
5
|
import { IDebugger } from '../../tokens';
|
|
5
6
|
/**
|
|
6
7
|
* A Panel to show a list of breakpoints.
|
|
7
8
|
*/
|
|
8
|
-
export declare class Breakpoints extends
|
|
9
|
+
export declare class Breakpoints extends PanelWithToolbar {
|
|
9
10
|
/**
|
|
10
11
|
* Instantiate a new Breakpoints Panel.
|
|
11
12
|
*
|
|
@@ -2,30 +2,28 @@
|
|
|
2
2
|
// Distributed under the terms of the Modified BSD License.
|
|
3
3
|
import { Dialog, showDialog } from '@jupyterlab/apputils';
|
|
4
4
|
import { nullTranslator } from '@jupyterlab/translation';
|
|
5
|
-
import { ToolbarButton } from '@jupyterlab/ui-components';
|
|
5
|
+
import { PanelWithToolbar, ToolbarButton } from '@jupyterlab/ui-components';
|
|
6
6
|
import { Signal } from '@lumino/signaling';
|
|
7
|
-
import { Panel } from '@lumino/widgets';
|
|
8
7
|
import { closeAllIcon } from '../../icons';
|
|
9
8
|
import { BreakpointsBody } from './body';
|
|
10
|
-
import { BreakpointsHeader } from './header';
|
|
11
9
|
/**
|
|
12
10
|
* A Panel to show a list of breakpoints.
|
|
13
11
|
*/
|
|
14
|
-
export class Breakpoints extends
|
|
12
|
+
export class Breakpoints extends PanelWithToolbar {
|
|
15
13
|
/**
|
|
16
14
|
* Instantiate a new Breakpoints Panel.
|
|
17
15
|
*
|
|
18
16
|
* @param options The instantiation options for a Breakpoints Panel.
|
|
19
17
|
*/
|
|
20
18
|
constructor(options) {
|
|
21
|
-
|
|
19
|
+
var _a;
|
|
20
|
+
super(options);
|
|
22
21
|
this.clicked = new Signal(this);
|
|
23
22
|
const { model, service } = options;
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
const header = new BreakpointsHeader(translator);
|
|
23
|
+
const trans = ((_a = options.translator) !== null && _a !== void 0 ? _a : nullTranslator).load('jupyterlab');
|
|
24
|
+
this.title.label = trans.__('Breakpoints');
|
|
27
25
|
const body = new BreakpointsBody(model);
|
|
28
|
-
|
|
26
|
+
this.toolbar.addItem('closeAll', new ToolbarButton({
|
|
29
27
|
icon: closeAllIcon,
|
|
30
28
|
onClick: async () => {
|
|
31
29
|
if (model.breakpoints.size === 0) {
|
|
@@ -46,7 +44,6 @@ export class Breakpoints extends Panel {
|
|
|
46
44
|
},
|
|
47
45
|
tooltip: trans.__('Remove All Breakpoints')
|
|
48
46
|
}));
|
|
49
|
-
this.addWidget(header);
|
|
50
47
|
this.addWidget(body);
|
|
51
48
|
this.addClass('jp-DebuggerBreakpoints');
|
|
52
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/panels/breakpoints/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/panels/breakpoints/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,gBAAgB;IAC/C;;;;OAIG;IACH,YAAY,OAA6B;;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QAoCR,YAAO,GAAG,IAAI,MAAM,CAA8B,IAAI,CAAC,CAAC;QAnC/D,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QACnC,MAAM,KAAK,GAAG,OAAC,OAAO,CAAC,UAAU,mCAAI,cAAc,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QAE3C,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,UAAU,EACV,IAAI,aAAa,CAAC;YAChB,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,KAAK,IAAmB,EAAE;gBACjC,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE;oBAChC,OAAO;iBACR;gBACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;oBAC9B,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC;oBACzC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,kDAAkD,CAAC;oBAClE,OAAO,EAAE;wBACP,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC;wBAC1D,MAAM,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;qBACnD;oBACD,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;oBACxB,OAAO,OAAO,CAAC,gBAAgB,EAAE,CAAC;iBACnC;YACH,CAAC;YACD,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC;SAC5C,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAC1C,CAAC;CAGF"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { ITranslator } from '@jupyterlab/translation';
|
|
2
|
+
import { PanelWithToolbar } from '@jupyterlab/ui-components';
|
|
2
3
|
import { CommandRegistry } from '@lumino/commands';
|
|
3
4
|
import { Panel } from '@lumino/widgets';
|
|
4
5
|
import { IDebugger } from '../../tokens';
|
|
5
6
|
/**
|
|
6
7
|
* A Panel to show a callstack.
|
|
7
8
|
*/
|
|
8
|
-
export declare class Callstack extends
|
|
9
|
+
export declare class Callstack extends PanelWithToolbar {
|
|
9
10
|
/**
|
|
10
11
|
* Instantiate a new Callstack Panel.
|
|
11
12
|
*
|