@jupyterlab/debugger 4.0.0-alpha.2 → 4.0.0-alpha.20
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 +4 -0
- package/lib/debugger.js +5 -1
- package/lib/debugger.js.map +1 -1
- package/lib/dialogs/evaluate.d.ts +5 -0
- package/lib/dialogs/evaluate.js +16 -6
- package/lib/dialogs/evaluate.js.map +1 -1
- package/lib/factory.d.ts +1 -1
- package/lib/factory.js +15 -9
- package/lib/factory.js.map +1 -1
- package/lib/handler.js +24 -9
- package/lib/handler.js.map +1 -1
- package/lib/handlers/console.js +9 -3
- package/lib/handlers/console.js.map +1 -1
- package/lib/handlers/editor.d.ts +33 -11
- package/lib/handlers/editor.js +177 -88
- package/lib/handlers/editor.js.map +1 -1
- package/lib/handlers/file.d.ts +1 -0
- package/lib/handlers/file.js +11 -2
- package/lib/handlers/file.js.map +1 -1
- package/lib/handlers/notebook.d.ts +0 -7
- package/lib/handlers/notebook.js +22 -18
- package/lib/handlers/notebook.js.map +1 -1
- package/lib/icons.d.ts +3 -0
- package/lib/icons.js +15 -0
- package/lib/icons.js.map +1 -1
- package/lib/model.d.ts +5 -0
- package/lib/model.js +4 -0
- package/lib/model.js.map +1 -1
- package/lib/panels/breakpoints/index.d.ts +18 -0
- package/lib/panels/breakpoints/index.js +10 -3
- package/lib/panels/breakpoints/index.js.map +1 -1
- package/lib/panels/breakpoints/pauseonexceptions.d.ts +53 -0
- package/lib/panels/breakpoints/pauseonexceptions.js +98 -0
- package/lib/panels/breakpoints/pauseonexceptions.js.map +1 -0
- package/lib/panels/callstack/index.d.ts +1 -1
- package/lib/panels/kernelSources/body.d.ts +45 -0
- package/lib/panels/kernelSources/body.js +76 -0
- package/lib/panels/kernelSources/body.js.map +1 -0
- package/lib/panels/kernelSources/filter.d.ts +11 -0
- package/lib/panels/kernelSources/filter.js +18 -0
- package/lib/panels/kernelSources/filter.js.map +1 -0
- package/lib/panels/kernelSources/index.d.ts +39 -0
- package/lib/panels/kernelSources/index.js +54 -0
- package/lib/panels/kernelSources/index.js.map +1 -0
- package/lib/panels/kernelSources/model.d.ts +73 -0
- package/lib/panels/kernelSources/model.js +120 -0
- package/lib/panels/kernelSources/model.js.map +1 -0
- package/lib/panels/sources/body.js +5 -3
- package/lib/panels/sources/body.js.map +1 -1
- package/lib/panels/variables/grid.d.ts +8 -2
- package/lib/panels/variables/grid.js +29 -364
- package/lib/panels/variables/grid.js.map +1 -1
- package/lib/panels/variables/gridpanel.d.ts +140 -0
- package/lib/panels/variables/gridpanel.js +363 -0
- package/lib/panels/variables/gridpanel.js.map +1 -0
- package/lib/panels/variables/index.d.ts +1 -9
- package/lib/panels/variables/index.js +1 -15
- package/lib/panels/variables/index.js.map +1 -1
- package/lib/panels/variables/mimerenderer.d.ts +15 -2
- package/lib/panels/variables/mimerenderer.js +56 -17
- package/lib/panels/variables/mimerenderer.js.map +1 -1
- package/lib/panels/variables/model.d.ts +3 -0
- package/lib/panels/variables/model.js +7 -0
- package/lib/panels/variables/model.js.map +1 -1
- package/lib/panels/variables/scope.js +4 -0
- package/lib/panels/variables/scope.js.map +1 -1
- package/lib/panels/variables/tree.d.ts +2 -5
- package/lib/panels/variables/tree.js +137 -47
- package/lib/panels/variables/tree.js.map +1 -1
- package/lib/service.d.ts +32 -2
- package/lib/service.js +122 -9
- package/lib/service.js.map +1 -1
- package/lib/session.d.ts +37 -1
- package/lib/session.js +89 -6
- package/lib/session.js.map +1 -1
- package/lib/sidebar.d.ts +7 -1
- package/lib/sidebar.js +10 -2
- package/lib/sidebar.js.map +1 -1
- package/lib/sources.d.ts +2 -2
- package/lib/sources.js +32 -17
- package/lib/sources.js.map +1 -1
- package/lib/tokens.d.ts +139 -24
- package/lib/tokens.js.map +1 -1
- package/package.json +39 -47
- package/src/config.ts +78 -0
- package/src/debugger.ts +154 -0
- package/src/dialogs/evaluate.ts +144 -0
- package/src/factory.ts +72 -0
- package/src/handler.ts +528 -0
- package/src/handlers/console.ts +118 -0
- package/src/handlers/editor.ts +469 -0
- package/src/handlers/file.ts +86 -0
- package/src/handlers/notebook.ts +128 -0
- package/src/hash.ts +69 -0
- package/src/icons.ts +64 -0
- package/src/index.ts +16 -0
- package/src/model.ts +155 -0
- package/src/panels/breakpoints/body.tsx +145 -0
- package/src/panels/breakpoints/index.ts +116 -0
- package/src/panels/breakpoints/model.ts +74 -0
- package/src/panels/breakpoints/pauseonexceptions.tsx +141 -0
- package/src/panels/callstack/body.tsx +96 -0
- package/src/panels/callstack/index.ts +152 -0
- package/src/panels/callstack/model.ts +86 -0
- package/src/panels/kernelSources/body.tsx +139 -0
- package/src/panels/kernelSources/filter.tsx +44 -0
- package/src/panels/kernelSources/index.tsx +106 -0
- package/src/panels/kernelSources/model.ts +160 -0
- package/src/panels/sources/body.ts +161 -0
- package/src/panels/sources/index.tsx +85 -0
- package/src/panels/sources/model.ts +94 -0
- package/src/panels/sources/sourcepath.tsx +28 -0
- package/src/panels/variables/grid.ts +144 -0
- package/src/panels/variables/gridpanel.ts +455 -0
- package/src/panels/variables/index.ts +199 -0
- package/src/panels/variables/mimerenderer.ts +125 -0
- package/src/panels/variables/model.ts +61 -0
- package/src/panels/variables/scope.tsx +132 -0
- package/src/panels/variables/tree.tsx +521 -0
- package/src/service.ts +1009 -0
- package/src/session.ts +342 -0
- package/src/sidebar.ts +194 -0
- package/src/sources.ts +327 -0
- package/src/svg.d.ts +9 -0
- package/src/tokens.ts +1071 -0
- package/style/base.css +2 -1
- package/style/breakpoints.css +21 -12
- package/style/icons/arrow-collapse.svg +1 -1
- package/style/icons/arrow-expand.svg +1 -1
- package/style/icons/exceptions.svg +10 -0
- package/style/icons/open-kernel-source.svg +6 -0
- package/style/icons/pause.svg +6 -0
- package/style/icons.css +9 -8
- package/style/index.css +1 -1
- package/style/index.js +1 -1
- package/style/kernelSources.css +45 -0
- package/style/sidebar.css +1 -1
- package/style/variables.css +82 -21
|
@@ -1,7 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Jupyter Development Team.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
1
5
|
import { MainAreaWidget } from '@jupyterlab/apputils';
|
|
2
6
|
import { MimeModel } from '@jupyterlab/rendermime';
|
|
7
|
+
import { nullTranslator } from '@jupyterlab/translation';
|
|
3
8
|
import { PromiseDelegate } from '@lumino/coreutils';
|
|
4
9
|
import { Panel } from '@lumino/widgets';
|
|
10
|
+
import { murmur2 } from '../../hash';
|
|
11
|
+
const RENDERER_PANEL_CLASS = 'jp-VariableRendererPanel';
|
|
12
|
+
const RENDERER_PANEL_RENDERER_CLASS = 'jp-VariableRendererPanel-renderer';
|
|
5
13
|
/**
|
|
6
14
|
* Debugger variable mime type renderer
|
|
7
15
|
*/
|
|
@@ -10,35 +18,66 @@ export class VariableMimeRenderer extends MainAreaWidget {
|
|
|
10
18
|
* Instantiate a new VariableMimeRenderer.
|
|
11
19
|
*/
|
|
12
20
|
constructor(options) {
|
|
13
|
-
const { dataLoader, rendermime } = options;
|
|
21
|
+
const { dataLoader, rendermime, translator } = options;
|
|
14
22
|
const content = new Panel();
|
|
15
23
|
const loaded = new PromiseDelegate();
|
|
16
24
|
super({
|
|
17
25
|
content,
|
|
18
26
|
reveal: Promise.all([dataLoader, loaded.promise])
|
|
19
27
|
});
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
28
|
+
this.content.addClass(RENDERER_PANEL_CLASS);
|
|
29
|
+
this.trans = (translator !== null && translator !== void 0 ? translator : nullTranslator).load('jupyterlab');
|
|
30
|
+
this.dataLoader = dataLoader;
|
|
31
|
+
this.renderMime = rendermime;
|
|
32
|
+
this._dataHash = null;
|
|
33
|
+
this.refresh()
|
|
34
|
+
.then(() => {
|
|
35
|
+
loaded.resolve();
|
|
36
|
+
})
|
|
37
|
+
.catch(reason => loaded.reject(reason));
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Refresh the variable view
|
|
41
|
+
*/
|
|
42
|
+
async refresh(force = false) {
|
|
43
|
+
let data = await this.dataLoader();
|
|
44
|
+
if (Object.keys(data.data).length === 0) {
|
|
45
|
+
data = {
|
|
46
|
+
data: {
|
|
47
|
+
'text/plain': this.trans.__('The variable is undefined in the active context.')
|
|
48
|
+
},
|
|
49
|
+
metadata: {}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
if (data.data) {
|
|
53
|
+
const hash = murmur2(JSON.stringify(data), 17);
|
|
54
|
+
if (force || this._dataHash !== hash) {
|
|
55
|
+
if (this.content.layout) {
|
|
56
|
+
this.content.widgets.forEach(w => {
|
|
57
|
+
this.content.layout.removeWidget(w);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
// We trust unconditionally the data as the user is required to
|
|
61
|
+
// execute the code to load a particular variable in memory
|
|
62
|
+
const mimeType = this.renderMime.preferredMimeType(data.data, 'any');
|
|
24
63
|
if (mimeType) {
|
|
25
|
-
const widget =
|
|
26
|
-
|
|
64
|
+
const widget = this.renderMime.createRenderer(mimeType);
|
|
65
|
+
widget.addClass(RENDERER_PANEL_RENDERER_CLASS);
|
|
66
|
+
const model = new MimeModel({ ...data, trusted: true });
|
|
67
|
+
this._dataHash = hash;
|
|
27
68
|
await widget.renderModel(model);
|
|
28
|
-
content.addWidget(widget);
|
|
29
|
-
loaded.resolve();
|
|
69
|
+
this.content.addWidget(widget);
|
|
30
70
|
}
|
|
31
71
|
else {
|
|
32
|
-
|
|
72
|
+
this._dataHash = null;
|
|
73
|
+
return Promise.reject('Unable to determine the preferred mime type.');
|
|
33
74
|
}
|
|
34
75
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
loaded.reject(reason);
|
|
41
|
-
});
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
this._dataHash = null;
|
|
79
|
+
return Promise.reject('Unable to get a view on the variable.');
|
|
80
|
+
}
|
|
42
81
|
}
|
|
43
82
|
}
|
|
44
83
|
//# sourceMappingURL=mimerenderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mimerenderer.js","sourceRoot":"","sources":["../../../src/panels/variables/mimerenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAuB,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"mimerenderer.js","sourceRoot":"","sources":["../../../src/panels/variables/mimerenderer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAuB,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAEL,cAAc,EAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AACxD,MAAM,6BAA6B,GAAG,mCAAmC,CAAC;AAE1E;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,cAAqB;IAC7D;;OAEG;IACH,YAAY,OAAsC;QAChD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAQ,CAAC;QAC3C,KAAK,CAAC;YACJ,OAAO;YACP,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;SAClD,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,cAAc,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,OAAO,EAAE;aACX,IAAI,CAAC,GAAG,EAAE;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC;aACD,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK;QACzB,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAEnC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACvC,IAAI,GAAG;gBACL,IAAI,EAAE;oBACJ,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CACzB,kDAAkD,CACnD;iBACF;gBACD,QAAQ,EAAE,EAAE;aACb,CAAC;SACH;QAED,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/C,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBACpC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;oBACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;wBAC/B,IAAI,CAAC,OAAO,CAAC,MAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBACvC,CAAC,CAAC,CAAC;iBACJ;gBAED,+DAA+D;gBAC/D,2DAA2D;gBAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAErE,IAAI,QAAQ,EAAE;oBACZ,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACxD,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;oBAC/C,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBACxD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAEhC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;iBAChC;qBAAM;oBACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,OAAO,OAAO,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC;iBACvE;aACF;SACF;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,OAAO,OAAO,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC;SAChE;IACH,CAAC;CAMF"}
|
|
@@ -20,12 +20,15 @@ export declare class VariablesModel implements IDebugger.Model.IVariables {
|
|
|
20
20
|
* Signal emitted when the current variable has been expanded.
|
|
21
21
|
*/
|
|
22
22
|
get variableExpanded(): ISignal<this, IDebugger.IVariable>;
|
|
23
|
+
get selectedVariable(): IDebugger.IVariableSelection | null;
|
|
24
|
+
set selectedVariable(selection: IDebugger.IVariableSelection | null);
|
|
23
25
|
/**
|
|
24
26
|
* Expand a variable.
|
|
25
27
|
*
|
|
26
28
|
* @param variable The variable to expand.
|
|
27
29
|
*/
|
|
28
30
|
expandVariable(variable: IDebugger.IVariable): void;
|
|
31
|
+
private _selectedVariable;
|
|
29
32
|
private _state;
|
|
30
33
|
private _variableExpanded;
|
|
31
34
|
private _changed;
|
|
@@ -6,6 +6,7 @@ import { Signal } from '@lumino/signaling';
|
|
|
6
6
|
*/
|
|
7
7
|
export class VariablesModel {
|
|
8
8
|
constructor() {
|
|
9
|
+
this._selectedVariable = null;
|
|
9
10
|
this._state = [];
|
|
10
11
|
this._variableExpanded = new Signal(this);
|
|
11
12
|
this._changed = new Signal(this);
|
|
@@ -35,6 +36,12 @@ export class VariablesModel {
|
|
|
35
36
|
get variableExpanded() {
|
|
36
37
|
return this._variableExpanded;
|
|
37
38
|
}
|
|
39
|
+
get selectedVariable() {
|
|
40
|
+
return this._selectedVariable;
|
|
41
|
+
}
|
|
42
|
+
set selectedVariable(selection) {
|
|
43
|
+
this._selectedVariable = selection;
|
|
44
|
+
}
|
|
38
45
|
/**
|
|
39
46
|
* Expand a variable.
|
|
40
47
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/panels/variables/model.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIpD;;GAEG;AACH,MAAM,OAAO,cAAc;IAA3B;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/panels/variables/model.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIpD;;GAEG;AACH,MAAM,OAAO,cAAc;IAA3B;QA8CU,sBAAiB,GAAwC,IAAI,CAAC;QAC9D,WAAM,GAAuB,EAAE,CAAC;QAChC,sBAAiB,GAAG,IAAI,MAAM,CAA4B,IAAI,CAAC,CAAC;QAChE,aAAQ,GAAG,IAAI,MAAM,CAAa,IAAI,CAAC,CAAC;IAClD,CAAC;IAjDC;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,MAAM,CAAC,MAA0B;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,IAAI,gBAAgB,CAAC,SAA8C;QACjE,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,QAA6B;QAC1C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;CAMF"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Jupyter Development Team.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
1
5
|
import { nullTranslator } from '@jupyterlab/translation';
|
|
2
6
|
import { HTMLSelect, ReactWidget, UseSignal } from '@jupyterlab/ui-components';
|
|
3
7
|
import React, { useState } from 'react';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../src/panels/variables/scope.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAKxC;;;;;;;;GAQG;AACH,MAAM,sBAAsB,GAAG,CAAC,EAC9B,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,KAAK,EAMN,EAAe,EAAE;IAChB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B,MAAM,QAAQ,GAAG,CAAC,KAA2C,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,UAAU,IACT,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,gBACA,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,IAE5B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACnB,gCAAQ,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,IACvC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CACd,CACV,CAAC,CACS,CACd,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C;;;;OAIG;IACH,YAAY,OAA+B;QACzC,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,CAAC,UAAU,IAAI,cAAc,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,CACL,oBAAC,SAAS,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,IAC/D,GAAgB,EAAE,CAAC,CAClB,oBAAC,sBAAsB,IACrB,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,IAAI,EAAE,IAAI,CAAC,KAAK,GAChB,CACH,CACS,CACb,CAAC;IACJ,CAAC;CAMF"}
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../src/panels/variables/scope.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,cAAc,EAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAKxC;;;;;;;;GAQG;AACH,MAAM,sBAAsB,GAAG,CAAC,EAC9B,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,KAAK,EAMN,EAAe,EAAE;IAChB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B,MAAM,QAAQ,GAAG,CAAC,KAA2C,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,UAAU,IACT,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,gBACA,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,IAE5B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACnB,gCAAQ,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,IACvC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CACd,CACV,CAAC,CACS,CACd,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C;;;;OAIG;IACH,YAAY,OAA+B;QACzC,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,CAAC,UAAU,IAAI,cAAc,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,CACL,oBAAC,SAAS,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,IAC/D,GAAgB,EAAE,CAAC,CAClB,oBAAC,sBAAsB,IACrB,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,IAAI,EAAE,IAAI,CAAC,KAAK,GAChB,CACH,CACS,CACb,CAAC;IACJ,CAAC;CAMF"}
|
|
@@ -16,10 +16,6 @@ export declare class VariablesBodyTree extends ReactWidget {
|
|
|
16
16
|
* Render the VariablesBodyTree.
|
|
17
17
|
*/
|
|
18
18
|
render(): JSX.Element;
|
|
19
|
-
/**
|
|
20
|
-
* Get the latest hit variable
|
|
21
|
-
*/
|
|
22
|
-
get latestSelection(): IDebugger.IVariableSelection | null;
|
|
23
19
|
/**
|
|
24
20
|
* Set the variable filter list.
|
|
25
21
|
*/
|
|
@@ -34,13 +30,14 @@ export declare class VariablesBodyTree extends ReactWidget {
|
|
|
34
30
|
* @param model The variables model.
|
|
35
31
|
*/
|
|
36
32
|
private _updateScopes;
|
|
33
|
+
protected model: IDebugger.Model.IVariables;
|
|
37
34
|
private _commands;
|
|
38
35
|
private _scope;
|
|
39
36
|
private _scopes;
|
|
40
37
|
private _filter;
|
|
41
|
-
private _latestSelection;
|
|
42
38
|
private _service;
|
|
43
39
|
private _translator;
|
|
40
|
+
private _hoverChanged;
|
|
44
41
|
}
|
|
45
42
|
/**
|
|
46
43
|
* A namespace for VariablesBodyTree `statics`.
|
|
@@ -1,11 +1,13 @@
|
|
|
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 { Signal } from '@lumino/signaling';
|
|
4
5
|
import { caretDownEmptyIcon, ReactWidget, searchIcon } from '@jupyterlab/ui-components';
|
|
5
6
|
import { ArrayExt } from '@lumino/algorithm';
|
|
6
|
-
import React, { useEffect, useState } from 'react';
|
|
7
|
+
import React, { useCallback, useEffect, useState } from 'react';
|
|
7
8
|
import { convertType } from '.';
|
|
8
9
|
import { Debugger } from '../../debugger';
|
|
10
|
+
const BUTTONS_CLASS = 'jp-DebuggerVariables-buttons';
|
|
9
11
|
/**
|
|
10
12
|
* The body for tree of variables.
|
|
11
13
|
*/
|
|
@@ -20,11 +22,11 @@ export class VariablesBodyTree extends ReactWidget {
|
|
|
20
22
|
this._scope = '';
|
|
21
23
|
this._scopes = [];
|
|
22
24
|
this._filter = new Set();
|
|
23
|
-
this._latestSelection = null;
|
|
24
25
|
this._commands = options.commands;
|
|
25
26
|
this._service = options.service;
|
|
26
27
|
this._translator = options.translator;
|
|
27
|
-
|
|
28
|
+
this._hoverChanged = new Signal(this);
|
|
29
|
+
const model = (this.model = options.model);
|
|
28
30
|
model.changed.connect(this._updateScopes, this);
|
|
29
31
|
this.addClass('jp-DebuggerVariables-body');
|
|
30
32
|
}
|
|
@@ -34,15 +36,15 @@ export class VariablesBodyTree extends ReactWidget {
|
|
|
34
36
|
render() {
|
|
35
37
|
var _a;
|
|
36
38
|
const scope = (_a = this._scopes.find(scope => scope.name === this._scope)) !== null && _a !== void 0 ? _a : this._scopes[0];
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
const handleSelectVariable = (variable) => {
|
|
40
|
+
this.model.selectedVariable = variable;
|
|
41
|
+
};
|
|
42
|
+
const collapserIcon = (React.createElement(caretDownEmptyIcon.react, { stylesheet: "menuItem", tag: "span" }));
|
|
43
|
+
return scope ? (React.createElement(React.Fragment, null,
|
|
44
|
+
React.createElement(VariablesBranch, { key: scope.name, commands: this._commands, service: this._service, data: scope.variables, filter: this._filter, translator: this._translator, handleSelectVariable: handleSelectVariable, onHoverChanged: (data) => {
|
|
45
|
+
this._hoverChanged.emit(data);
|
|
46
|
+
}, collapserIcon: collapserIcon }),
|
|
47
|
+
React.createElement(TreeButtons, { commands: this._commands, service: this._service, hoverChanged: this._hoverChanged, handleSelectVariable: handleSelectVariable }))) : (React.createElement("div", null));
|
|
46
48
|
}
|
|
47
49
|
/**
|
|
48
50
|
* Set the variable filter list.
|
|
@@ -71,6 +73,91 @@ export class VariablesBodyTree extends ReactWidget {
|
|
|
71
73
|
this.update();
|
|
72
74
|
}
|
|
73
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* The singleton buttons bar shown by the variables.
|
|
78
|
+
*/
|
|
79
|
+
const TreeButtons = (props) => {
|
|
80
|
+
var _a;
|
|
81
|
+
const { commands, service, translator, handleSelectVariable } = props;
|
|
82
|
+
const trans = (translator !== null && translator !== void 0 ? translator : nullTranslator).load('jupyterlab');
|
|
83
|
+
const [buttonsTop, setButtonsTop] = useState(0);
|
|
84
|
+
const [variable, setVariable] = useState(null);
|
|
85
|
+
let stateRefreshLock = 0;
|
|
86
|
+
// Empty dependency array is to only register once per lifetime.
|
|
87
|
+
const handleHover = useCallback((_, data) => {
|
|
88
|
+
const current = ++stateRefreshLock;
|
|
89
|
+
if (!data.variable) {
|
|
90
|
+
// Handle mouse leave.
|
|
91
|
+
if (current !== stateRefreshLock) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const target = data.target;
|
|
95
|
+
if (target &&
|
|
96
|
+
// Note: Element, not HTMLElement to permit entering <svg> icon.
|
|
97
|
+
target instanceof Element &&
|
|
98
|
+
target.closest(`.${BUTTONS_CLASS}`)) {
|
|
99
|
+
// Allow to enter the buttons.
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
setVariable(null);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
// Handle mouse over.
|
|
106
|
+
setVariable(data.variable);
|
|
107
|
+
requestAnimationFrame(() => {
|
|
108
|
+
if (current !== stateRefreshLock || !data.target) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
setButtonsTop(data.target.offsetTop);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}, []);
|
|
115
|
+
useEffect(() => {
|
|
116
|
+
props.hoverChanged.connect(handleHover);
|
|
117
|
+
return () => {
|
|
118
|
+
props.hoverChanged.disconnect(handleHover);
|
|
119
|
+
};
|
|
120
|
+
}, [handleHover]);
|
|
121
|
+
return (React.createElement("div", { className: BUTTONS_CLASS, style:
|
|
122
|
+
// Positioning and hiding is implemented using compositor-only
|
|
123
|
+
// properties (transform and opacity) for performance.
|
|
124
|
+
{
|
|
125
|
+
transform: `translateY(${buttonsTop}px)`,
|
|
126
|
+
opacity: !variable ||
|
|
127
|
+
// Do not show buttons display for special entries, defined in debugpy:
|
|
128
|
+
// https://github.com/microsoft/debugpy/blob/cf0d684566edc339545b161da7c3dfc48af7c7d5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py#L359
|
|
129
|
+
[
|
|
130
|
+
'special variables',
|
|
131
|
+
'protected variables',
|
|
132
|
+
'function variables',
|
|
133
|
+
'class variables'
|
|
134
|
+
].includes(variable.name)
|
|
135
|
+
? 0
|
|
136
|
+
: 1
|
|
137
|
+
} },
|
|
138
|
+
React.createElement("button", { className: "jp-DebuggerVariables-renderVariable", disabled: !variable ||
|
|
139
|
+
!service.model.hasRichVariableRendering ||
|
|
140
|
+
!commands.isEnabled(Debugger.CommandIDs.renderMimeVariable, {
|
|
141
|
+
name: variable.name,
|
|
142
|
+
frameID: (_a = service.model.callstack.frame) === null || _a === void 0 ? void 0 : _a.id
|
|
143
|
+
}), onClick: e => {
|
|
144
|
+
var _a;
|
|
145
|
+
if (!variable || !handleSelectVariable) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
e.stopPropagation();
|
|
149
|
+
handleSelectVariable(variable);
|
|
150
|
+
commands
|
|
151
|
+
.execute(Debugger.CommandIDs.renderMimeVariable, {
|
|
152
|
+
name: variable.name,
|
|
153
|
+
frameID: (_a = service.model.callstack.frame) === null || _a === void 0 ? void 0 : _a.id
|
|
154
|
+
})
|
|
155
|
+
.catch(reason => {
|
|
156
|
+
console.error(`Failed to render variable ${variable === null || variable === void 0 ? void 0 : variable.name}`, reason);
|
|
157
|
+
});
|
|
158
|
+
}, title: trans.__('Render variable: %1', variable === null || variable === void 0 ? void 0 : variable.name) },
|
|
159
|
+
React.createElement(searchIcon.react, { stylesheet: "menuItem", tag: "span" }))));
|
|
160
|
+
};
|
|
74
161
|
/**
|
|
75
162
|
* A React component to display a list of variables.
|
|
76
163
|
*
|
|
@@ -79,17 +166,28 @@ export class VariablesBodyTree extends ReactWidget {
|
|
|
79
166
|
* @param props.service The debugger service.
|
|
80
167
|
* @param props.filter Optional variable filter list.
|
|
81
168
|
*/
|
|
82
|
-
const
|
|
83
|
-
const { commands, data, service, filter, translator, handleSelectVariable } = props;
|
|
169
|
+
const VariablesBranch = (props) => {
|
|
170
|
+
const { commands, data, service, filter, translator, handleSelectVariable, onHoverChanged, collapserIcon } = props;
|
|
84
171
|
const [variables, setVariables] = useState(data);
|
|
85
172
|
useEffect(() => {
|
|
86
173
|
setVariables(data);
|
|
87
174
|
}, [data]);
|
|
88
|
-
return (React.createElement("ul",
|
|
175
|
+
return (React.createElement("ul", { className: "jp-DebuggerVariables-branch" }, variables
|
|
176
|
+
.filter(variable => !(filter || new Set()).has(variable.evaluateName || ''))
|
|
177
|
+
.map(variable => {
|
|
89
178
|
const key = `${variable.name}-${variable.evaluateName}-${variable.type}-${variable.value}-${variable.variablesReference}`;
|
|
90
|
-
return (React.createElement(VariableComponent, { key: key, commands: commands, data: variable, service: service, filter: filter, translator: translator, onSelect: handleSelectVariable }));
|
|
179
|
+
return (React.createElement(VariableComponent, { key: key, commands: commands, data: variable, service: service, filter: filter, translator: translator, onSelect: handleSelectVariable, onHoverChanged: onHoverChanged, collapserIcon: collapserIcon }));
|
|
91
180
|
})));
|
|
92
181
|
};
|
|
182
|
+
function _prepareDetail(variable) {
|
|
183
|
+
const detail = convertType(variable);
|
|
184
|
+
if (variable.type === 'float' && isNaN(detail)) {
|
|
185
|
+
// silence React warning:
|
|
186
|
+
// `Received NaN for the `children` attribute. If this is expected, cast the value to a string`
|
|
187
|
+
return 'NaN';
|
|
188
|
+
}
|
|
189
|
+
return detail;
|
|
190
|
+
}
|
|
93
191
|
/**
|
|
94
192
|
* A React component to display one node variable in tree.
|
|
95
193
|
*
|
|
@@ -99,19 +197,12 @@ const VariablesComponent = (props) => {
|
|
|
99
197
|
* @param props.filter Optional variable filter list.
|
|
100
198
|
*/
|
|
101
199
|
const VariableComponent = (props) => {
|
|
102
|
-
const { commands, data, service, filter, translator, onSelect } = props;
|
|
200
|
+
const { commands, data, service, filter, translator, onSelect, onHoverChanged, collapserIcon } = props;
|
|
103
201
|
const [variable] = useState(data);
|
|
104
202
|
const [expanded, setExpanded] = useState();
|
|
105
203
|
const [variables, setVariables] = useState();
|
|
106
|
-
const styleName = {
|
|
107
|
-
color: 'var(--jp-mirror-editor-attribute-color)'
|
|
108
|
-
};
|
|
109
|
-
const styleType = {
|
|
110
|
-
color: 'var(--jp-mirror-editor-string-color)'
|
|
111
|
-
};
|
|
112
204
|
const onSelection = onSelect !== null && onSelect !== void 0 ? onSelect : (() => void 0);
|
|
113
205
|
const expandable = variable.variablesReference !== 0 || variable.type === 'function';
|
|
114
|
-
const trans = (translator !== null && translator !== void 0 ? translator : nullTranslator).load('jupyterlab');
|
|
115
206
|
const onVariableClicked = async (e) => {
|
|
116
207
|
if (!expandable) {
|
|
117
208
|
return;
|
|
@@ -121,30 +212,29 @@ const VariableComponent = (props) => {
|
|
|
121
212
|
setExpanded(!expanded);
|
|
122
213
|
setVariables(variables);
|
|
123
214
|
};
|
|
124
|
-
return (React.createElement("li", { onClick: (e) => onVariableClicked(e), onMouseDown:
|
|
215
|
+
return (React.createElement("li", { onClick: (e) => onVariableClicked(e), onMouseDown: e => {
|
|
216
|
+
e.stopPropagation();
|
|
125
217
|
onSelection(variable);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
e.stopPropagation();
|
|
137
|
-
onSelection(variable);
|
|
138
|
-
commands
|
|
139
|
-
.execute(Debugger.CommandIDs.renderMimeVariable, {
|
|
140
|
-
name: variable.name,
|
|
141
|
-
variablesReference: variable.variablesReference
|
|
142
|
-
})
|
|
143
|
-
.catch(reason => {
|
|
144
|
-
console.error(`Failed to render variable ${variable.name}`, reason);
|
|
218
|
+
}, onMouseOver: (event) => {
|
|
219
|
+
if (onHoverChanged) {
|
|
220
|
+
onHoverChanged({ target: event.currentTarget, variable });
|
|
221
|
+
event.stopPropagation();
|
|
222
|
+
}
|
|
223
|
+
}, onMouseLeave: (event) => {
|
|
224
|
+
if (onHoverChanged) {
|
|
225
|
+
onHoverChanged({
|
|
226
|
+
target: event.relatedTarget,
|
|
227
|
+
variable: null
|
|
145
228
|
});
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
229
|
+
event.stopPropagation();
|
|
230
|
+
}
|
|
231
|
+
} },
|
|
232
|
+
React.createElement("span", { className: 'jp-DebuggerVariables-collapser' +
|
|
233
|
+
(expanded ? ' jp-mod-expanded' : '') },
|
|
234
|
+
// note: using React.cloneElement due to high typestyle cost
|
|
235
|
+
expandable ? React.cloneElement(collapserIcon) : null),
|
|
236
|
+
React.createElement("span", { className: "jp-DebuggerVariables-name" }, variable.name),
|
|
237
|
+
React.createElement("span", { className: "jp-DebuggerVariables-detail" }, _prepareDetail(variable)),
|
|
238
|
+
expanded && variables && (React.createElement(VariablesBranch, { key: variable.name, commands: commands, data: variables, service: service, filter: filter, translator: translator, handleSelectVariable: onSelect, onHoverChanged: onHoverChanged, collapserIcon: collapserIcon }))));
|
|
149
239
|
};
|
|
150
240
|
//# sourceMappingURL=tree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/panels/variables/tree.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/panels/variables/tree.tsx"],"names":[],"mappings":"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"}
|
package/lib/service.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { KernelSpec, Session } from '@jupyterlab/services';
|
|
2
2
|
import { ITranslator } from '@jupyterlab/translation';
|
|
3
3
|
import { IDisposable } from '@lumino/disposable';
|
|
4
|
-
import { ISignal } from '@lumino/signaling';
|
|
5
|
-
import { DebugProtocol } from 'vscode
|
|
4
|
+
import { ISignal, Signal } from '@lumino/signaling';
|
|
5
|
+
import { DebugProtocol } from '@vscode/debugprotocol';
|
|
6
6
|
import { IDebugger } from './tokens';
|
|
7
7
|
/**
|
|
8
8
|
* A concrete implementation of the IDebugger interface.
|
|
@@ -18,6 +18,10 @@ export declare class DebuggerService implements IDebugger, IDisposable {
|
|
|
18
18
|
* Signal emitted for debug event messages.
|
|
19
19
|
*/
|
|
20
20
|
get eventMessage(): ISignal<IDebugger, IDebugger.ISession.Event>;
|
|
21
|
+
/**
|
|
22
|
+
* Get debugger config.
|
|
23
|
+
*/
|
|
24
|
+
get config(): IDebugger.IConfig;
|
|
21
25
|
/**
|
|
22
26
|
* Whether the debug service is disposed.
|
|
23
27
|
*/
|
|
@@ -26,6 +30,10 @@ export declare class DebuggerService implements IDebugger, IDisposable {
|
|
|
26
30
|
* Whether the current debugger is started.
|
|
27
31
|
*/
|
|
28
32
|
get isStarted(): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* A signal emitted when the pause on exception filter changes.
|
|
35
|
+
*/
|
|
36
|
+
get pauseOnExceptionChanged(): Signal<IDebugger, void>;
|
|
29
37
|
/**
|
|
30
38
|
* Returns the debugger service's model.
|
|
31
39
|
*/
|
|
@@ -107,6 +115,7 @@ export declare class DebuggerService implements IDebugger, IDisposable {
|
|
|
107
115
|
* table view.
|
|
108
116
|
*/
|
|
109
117
|
displayDefinedVariables(): Promise<void>;
|
|
118
|
+
displayModules(): Promise<void>;
|
|
110
119
|
/**
|
|
111
120
|
* Restart the debugger.
|
|
112
121
|
*/
|
|
@@ -122,6 +131,10 @@ export declare class DebuggerService implements IDebugger, IDisposable {
|
|
|
122
131
|
* Precondition: !isStarted
|
|
123
132
|
*/
|
|
124
133
|
start(): Promise<void>;
|
|
134
|
+
/**
|
|
135
|
+
* Makes the current thread pause if possible.
|
|
136
|
+
*/
|
|
137
|
+
pause(): Promise<void>;
|
|
125
138
|
/**
|
|
126
139
|
* Makes the current thread step in a function / method if possible.
|
|
127
140
|
*/
|
|
@@ -143,6 +156,22 @@ export declare class DebuggerService implements IDebugger, IDisposable {
|
|
|
143
156
|
* @param path - Optional path to the file where to set the breakpoints.
|
|
144
157
|
*/
|
|
145
158
|
updateBreakpoints(code: string, breakpoints: IDebugger.IBreakpoint[], path?: string): Promise<void>;
|
|
159
|
+
/**
|
|
160
|
+
* Determines if pausing on exceptions is supported by the kernel
|
|
161
|
+
*/
|
|
162
|
+
pauseOnExceptionsIsValid(): boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Add or remove a filter from the current used filters.
|
|
165
|
+
*
|
|
166
|
+
* @param exceptionFilter - The filter to add or remove from current filters.
|
|
167
|
+
*/
|
|
168
|
+
pauseOnExceptionsFilter(exceptionFilter: string): Promise<void>;
|
|
169
|
+
/**
|
|
170
|
+
* Enable or disable pausing on exceptions.
|
|
171
|
+
*
|
|
172
|
+
* @param exceptionFilters - The filters to use for the current debugging session.
|
|
173
|
+
*/
|
|
174
|
+
pauseOnExceptions(exceptionFilters: string[]): Promise<void>;
|
|
146
175
|
/**
|
|
147
176
|
* Get the debugger state
|
|
148
177
|
*
|
|
@@ -253,6 +282,7 @@ export declare class DebuggerService implements IDebugger, IDisposable {
|
|
|
253
282
|
private _sessionChanged;
|
|
254
283
|
private _specsManager;
|
|
255
284
|
private _trans;
|
|
285
|
+
private _pauseOnExceptionChanged;
|
|
256
286
|
}
|
|
257
287
|
/**
|
|
258
288
|
* A namespace for `DebuggerService` statics.
|