@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.
Files changed (138) hide show
  1. package/lib/debugger.d.ts +4 -0
  2. package/lib/debugger.js +5 -1
  3. package/lib/debugger.js.map +1 -1
  4. package/lib/dialogs/evaluate.d.ts +5 -0
  5. package/lib/dialogs/evaluate.js +16 -6
  6. package/lib/dialogs/evaluate.js.map +1 -1
  7. package/lib/factory.d.ts +1 -1
  8. package/lib/factory.js +15 -9
  9. package/lib/factory.js.map +1 -1
  10. package/lib/handler.js +24 -9
  11. package/lib/handler.js.map +1 -1
  12. package/lib/handlers/console.js +9 -3
  13. package/lib/handlers/console.js.map +1 -1
  14. package/lib/handlers/editor.d.ts +33 -11
  15. package/lib/handlers/editor.js +177 -88
  16. package/lib/handlers/editor.js.map +1 -1
  17. package/lib/handlers/file.d.ts +1 -0
  18. package/lib/handlers/file.js +11 -2
  19. package/lib/handlers/file.js.map +1 -1
  20. package/lib/handlers/notebook.d.ts +0 -7
  21. package/lib/handlers/notebook.js +22 -18
  22. package/lib/handlers/notebook.js.map +1 -1
  23. package/lib/icons.d.ts +3 -0
  24. package/lib/icons.js +15 -0
  25. package/lib/icons.js.map +1 -1
  26. package/lib/model.d.ts +5 -0
  27. package/lib/model.js +4 -0
  28. package/lib/model.js.map +1 -1
  29. package/lib/panels/breakpoints/index.d.ts +18 -0
  30. package/lib/panels/breakpoints/index.js +10 -3
  31. package/lib/panels/breakpoints/index.js.map +1 -1
  32. package/lib/panels/breakpoints/pauseonexceptions.d.ts +53 -0
  33. package/lib/panels/breakpoints/pauseonexceptions.js +98 -0
  34. package/lib/panels/breakpoints/pauseonexceptions.js.map +1 -0
  35. package/lib/panels/callstack/index.d.ts +1 -1
  36. package/lib/panels/kernelSources/body.d.ts +45 -0
  37. package/lib/panels/kernelSources/body.js +76 -0
  38. package/lib/panels/kernelSources/body.js.map +1 -0
  39. package/lib/panels/kernelSources/filter.d.ts +11 -0
  40. package/lib/panels/kernelSources/filter.js +18 -0
  41. package/lib/panels/kernelSources/filter.js.map +1 -0
  42. package/lib/panels/kernelSources/index.d.ts +39 -0
  43. package/lib/panels/kernelSources/index.js +54 -0
  44. package/lib/panels/kernelSources/index.js.map +1 -0
  45. package/lib/panels/kernelSources/model.d.ts +73 -0
  46. package/lib/panels/kernelSources/model.js +120 -0
  47. package/lib/panels/kernelSources/model.js.map +1 -0
  48. package/lib/panels/sources/body.js +5 -3
  49. package/lib/panels/sources/body.js.map +1 -1
  50. package/lib/panels/variables/grid.d.ts +8 -2
  51. package/lib/panels/variables/grid.js +29 -364
  52. package/lib/panels/variables/grid.js.map +1 -1
  53. package/lib/panels/variables/gridpanel.d.ts +140 -0
  54. package/lib/panels/variables/gridpanel.js +363 -0
  55. package/lib/panels/variables/gridpanel.js.map +1 -0
  56. package/lib/panels/variables/index.d.ts +1 -9
  57. package/lib/panels/variables/index.js +1 -15
  58. package/lib/panels/variables/index.js.map +1 -1
  59. package/lib/panels/variables/mimerenderer.d.ts +15 -2
  60. package/lib/panels/variables/mimerenderer.js +56 -17
  61. package/lib/panels/variables/mimerenderer.js.map +1 -1
  62. package/lib/panels/variables/model.d.ts +3 -0
  63. package/lib/panels/variables/model.js +7 -0
  64. package/lib/panels/variables/model.js.map +1 -1
  65. package/lib/panels/variables/scope.js +4 -0
  66. package/lib/panels/variables/scope.js.map +1 -1
  67. package/lib/panels/variables/tree.d.ts +2 -5
  68. package/lib/panels/variables/tree.js +137 -47
  69. package/lib/panels/variables/tree.js.map +1 -1
  70. package/lib/service.d.ts +32 -2
  71. package/lib/service.js +122 -9
  72. package/lib/service.js.map +1 -1
  73. package/lib/session.d.ts +37 -1
  74. package/lib/session.js +89 -6
  75. package/lib/session.js.map +1 -1
  76. package/lib/sidebar.d.ts +7 -1
  77. package/lib/sidebar.js +10 -2
  78. package/lib/sidebar.js.map +1 -1
  79. package/lib/sources.d.ts +2 -2
  80. package/lib/sources.js +32 -17
  81. package/lib/sources.js.map +1 -1
  82. package/lib/tokens.d.ts +139 -24
  83. package/lib/tokens.js.map +1 -1
  84. package/package.json +39 -47
  85. package/src/config.ts +78 -0
  86. package/src/debugger.ts +154 -0
  87. package/src/dialogs/evaluate.ts +144 -0
  88. package/src/factory.ts +72 -0
  89. package/src/handler.ts +528 -0
  90. package/src/handlers/console.ts +118 -0
  91. package/src/handlers/editor.ts +469 -0
  92. package/src/handlers/file.ts +86 -0
  93. package/src/handlers/notebook.ts +128 -0
  94. package/src/hash.ts +69 -0
  95. package/src/icons.ts +64 -0
  96. package/src/index.ts +16 -0
  97. package/src/model.ts +155 -0
  98. package/src/panels/breakpoints/body.tsx +145 -0
  99. package/src/panels/breakpoints/index.ts +116 -0
  100. package/src/panels/breakpoints/model.ts +74 -0
  101. package/src/panels/breakpoints/pauseonexceptions.tsx +141 -0
  102. package/src/panels/callstack/body.tsx +96 -0
  103. package/src/panels/callstack/index.ts +152 -0
  104. package/src/panels/callstack/model.ts +86 -0
  105. package/src/panels/kernelSources/body.tsx +139 -0
  106. package/src/panels/kernelSources/filter.tsx +44 -0
  107. package/src/panels/kernelSources/index.tsx +106 -0
  108. package/src/panels/kernelSources/model.ts +160 -0
  109. package/src/panels/sources/body.ts +161 -0
  110. package/src/panels/sources/index.tsx +85 -0
  111. package/src/panels/sources/model.ts +94 -0
  112. package/src/panels/sources/sourcepath.tsx +28 -0
  113. package/src/panels/variables/grid.ts +144 -0
  114. package/src/panels/variables/gridpanel.ts +455 -0
  115. package/src/panels/variables/index.ts +199 -0
  116. package/src/panels/variables/mimerenderer.ts +125 -0
  117. package/src/panels/variables/model.ts +61 -0
  118. package/src/panels/variables/scope.tsx +132 -0
  119. package/src/panels/variables/tree.tsx +521 -0
  120. package/src/service.ts +1009 -0
  121. package/src/session.ts +342 -0
  122. package/src/sidebar.ts +194 -0
  123. package/src/sources.ts +327 -0
  124. package/src/svg.d.ts +9 -0
  125. package/src/tokens.ts +1071 -0
  126. package/style/base.css +2 -1
  127. package/style/breakpoints.css +21 -12
  128. package/style/icons/arrow-collapse.svg +1 -1
  129. package/style/icons/arrow-expand.svg +1 -1
  130. package/style/icons/exceptions.svg +10 -0
  131. package/style/icons/open-kernel-source.svg +6 -0
  132. package/style/icons/pause.svg +6 -0
  133. package/style/icons.css +9 -8
  134. package/style/index.css +1 -1
  135. package/style/index.js +1 -1
  136. package/style/kernelSources.css +45 -0
  137. package/style/sidebar.css +1 -1
  138. 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
- dataLoader
21
- .then(async (data) => {
22
- if (data.data) {
23
- const mimeType = rendermime.preferredMimeType(data.data, 'any');
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 = rendermime.createRenderer(mimeType);
26
- const model = new MimeModel(data);
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
- loaded.reject('Unable to determine the preferred mime type.');
72
+ this._dataHash = null;
73
+ return Promise.reject('Unable to determine the preferred mime type.');
33
74
  }
34
75
  }
35
- else {
36
- loaded.reject('Unable to get a view on the variable.');
37
- }
38
- })
39
- .catch(reason => {
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;AAGxC;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,cAAqB;IAC7D;;OAEG;IACH,YAAY,OAAsC;QAChD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAC3C,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;QAEH,UAAU;aACP,IAAI,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YACjB,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,MAAM,QAAQ,GAAG,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAEhE,IAAI,QAAQ,EAAE;oBACZ,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACnD,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;oBAClC,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAEhC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBAC1B,MAAM,CAAC,OAAO,EAAE,CAAC;iBAClB;qBAAM;oBACL,MAAM,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC;iBAC/D;aACF;iBAAM;gBACL,MAAM,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC;aACxD;QACH,CAAC,CAAC;aACD,KAAK,CAAC,MAAM,CAAC,EAAE;YACd,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;CACF"}
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;QAuCU,WAAM,GAAuB,EAAE,CAAC;QAChC,sBAAiB,GAAG,IAAI,MAAM,CAA4B,IAAI,CAAC,CAAC;QAChE,aAAQ,GAAG,IAAI,MAAM,CAAa,IAAI,CAAC,CAAC;IAClD,CAAC;IAzCC;;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;;;;OAIG;IACH,cAAc,CAAC,QAA6B;QAC1C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;CAKF"}
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
- const model = options.model;
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
- return scope ? (React.createElement(VariablesComponent, { key: scope.name, commands: this._commands, service: this._service, data: scope.variables, filter: this._filter, translator: this._translator, handleSelectVariable: variable => {
38
- this._latestSelection = variable;
39
- } })) : (React.createElement("div", null));
40
- }
41
- /**
42
- * Get the latest hit variable
43
- */
44
- get latestSelection() {
45
- return this._latestSelection;
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 VariablesComponent = (props) => {
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", null, variables === null || variables === void 0 ? void 0 : variables.filter(variable => !(filter || new Set()).has(variable.evaluateName || '')).map(variable => {
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
- React.createElement(caretDownEmptyIcon.react, { visibility: expandable ? 'visible' : 'hidden', stylesheet: "menuItem", tag: "span", transform: expanded ? 'rotate(0deg)' : 'rotate(-90deg)' }),
128
- React.createElement("span", { style: styleName }, variable.name),
129
- React.createElement("span", null, ": "),
130
- React.createElement("span", { style: styleType }, convertType(variable)),
131
- React.createElement("span", { className: "jp-DebuggerVariables-hspacer" }),
132
- service.model.hasRichVariableRendering && (React.createElement("button", { className: "jp-DebuggerVariables-renderVariable", disabled: !commands.isEnabled(Debugger.CommandIDs.renderMimeVariable, {
133
- name: variable.name,
134
- variablesReference: variable.variablesReference
135
- }), onClick: e => {
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
- }, title: trans.__('Render variable') },
147
- React.createElement(searchIcon.react, { stylesheet: "menuItem", tag: "span" }))),
148
- expanded && variables && (React.createElement(VariablesComponent, { key: variable.name, commands: commands, data: variables, service: service, filter: filter, translator: translator }))));
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":"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"}
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-debugprotocol';
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.