@theia/debug 1.29.0-next.4 → 1.29.0-next.9
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-hover-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/editor/debug-hover-widget.ts"],"names":[],"mappings":";AAmBA,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACjE,OAAO,EAAqC,SAAS,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAExG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"debug-hover-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/editor/debug-hover-widget.ts"],"names":[],"mappings":";AAmBA,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACjE,OAAO,EAAqC,SAAS,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAExG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAOpD,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAA;IACvB,qBAAqB;IACrB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,oBAAoB;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,qBAAqB;IAClC,oBAAoB;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CAU5G;AAED,qBACa,gBAAiB,SAAQ,gBAAiB,YAAW,MAAM,CAAC,MAAM,CAAC,cAAc;IAG1F,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAGvC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IAGjD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IAGjD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;IAE/D,mBAAmB,UAAQ;IAE3B,MAAM,CAAC,EAAE,SAAwB;IACjC,KAAK,IAAI,MAAM;IAIf,SAAS,CAAC,QAAQ,CAAC,OAAO,iBAAiC;IAC3D,SAAS,CAAC,QAAQ,CAAC,SAAS,iBAAiC;IAC7D,SAAS,CAAC,QAAQ,CAAC,WAAW,iBAAiC;IAC/D,UAAU,IAAI,WAAW;cAKN,IAAI,IAAI,IAAI;IAsBtB,OAAO,IAAI,IAAI;IAIf,IAAI,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAI3C,IAAI,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAIpD,SAAS,CAAC,QAAQ,CAAC,UAAU,sCAAiB,MAAM,IAAI,WAAgB;IACxE,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,SAAS,GAAE,OAAc,GAAG,IAAI;IASnE,SAAS,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACrD,SAAS,CAAC,MAAM,IAAI,IAAI;cAgBR,MAAM,CAAC,OAAO,GAAE,qBAAqB,GAAG,SAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2FhG,SAAS,CAAC,aAAa,IAAI,OAAO;IAIlC,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB;cAehC,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;cAQnC,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;CAKvD"}
|
|
@@ -38,6 +38,11 @@ const debug_expression_provider_1 = require("./debug-expression-provider");
|
|
|
38
38
|
const debug_hover_source_1 = require("./debug-hover-source");
|
|
39
39
|
const debug_console_items_1 = require("../console/debug-console-items");
|
|
40
40
|
const monaco = require("@theia/monaco-editor-core");
|
|
41
|
+
const standaloneServices_1 = require("@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices");
|
|
42
|
+
const languageFeatures_1 = require("@theia/monaco-editor-core/esm/vs/editor/common/services/languageFeatures");
|
|
43
|
+
const cancellation_1 = require("@theia/monaco-editor-core/esm/vs/base/common/cancellation");
|
|
44
|
+
const position_1 = require("@theia/monaco-editor-core/esm/vs/editor/common/core/position");
|
|
45
|
+
const core_1 = require("@theia/core");
|
|
41
46
|
function createDebugHoverWidgetContainer(parent, editor) {
|
|
42
47
|
const child = source_tree_1.SourceTreeWidget.createContainer(parent, {
|
|
43
48
|
virtualized: false
|
|
@@ -119,6 +124,7 @@ let DebugHoverWidget = DebugHoverWidget_1 = class DebugHoverWidget extends sourc
|
|
|
119
124
|
this.editor.getControl().layoutContentWidget(this);
|
|
120
125
|
}
|
|
121
126
|
async doShow(options = this.options) {
|
|
127
|
+
const cancellationSource = new cancellation_1.CancellationTokenSource();
|
|
122
128
|
if (!this.isEditorFrame()) {
|
|
123
129
|
this.hide();
|
|
124
130
|
return;
|
|
@@ -134,7 +140,26 @@ let DebugHoverWidget = DebugHoverWidget_1 = class DebugHoverWidget extends sourc
|
|
|
134
140
|
widgets_1.Widget.attach(this, this.contentNode);
|
|
135
141
|
}
|
|
136
142
|
this.options = options;
|
|
137
|
-
|
|
143
|
+
let matchingExpression;
|
|
144
|
+
const pluginExpressionProvider = standaloneServices_1.StandaloneServices.get(languageFeatures_1.ILanguageFeaturesService).evaluatableExpressionProvider;
|
|
145
|
+
const textEditorModel = this.editor.document.textEditorModel;
|
|
146
|
+
if (pluginExpressionProvider && pluginExpressionProvider.has(textEditorModel)) {
|
|
147
|
+
const registeredProviders = pluginExpressionProvider.ordered(textEditorModel);
|
|
148
|
+
const position = new position_1.Position(this.options.selection.startLineNumber, this.options.selection.startColumn);
|
|
149
|
+
const promises = registeredProviders.map(support => Promise.resolve(support.provideEvaluatableExpression(textEditorModel, position, cancellationSource.token)));
|
|
150
|
+
const results = await Promise.all(promises).then(core_1.ArrayUtils.coalesce);
|
|
151
|
+
if (results.length > 0) {
|
|
152
|
+
matchingExpression = results[0].expression;
|
|
153
|
+
const range = results[0].range;
|
|
154
|
+
if (!matchingExpression) {
|
|
155
|
+
const lineContent = textEditorModel.getLineContent(position.lineNumber);
|
|
156
|
+
matchingExpression = lineContent.substring(range.startColumn - 1, range.endColumn - 1);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
else { // use fallback if no provider was registered
|
|
161
|
+
matchingExpression = this.expressionProvider.get(this.editor.getControl().getModel(), options.selection);
|
|
162
|
+
}
|
|
138
163
|
if (!matchingExpression) {
|
|
139
164
|
this.hide();
|
|
140
165
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-hover-widget.js","sourceRoot":"","sources":["../../../src/browser/editor/debug-hover-widget.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;;AAEhF,+DAAgE;AAEhE,kEAA8D;AAE9D,4DAAwG;AACxG,qDAA8C;AAC9C,qEAAuE;AACvE,kEAAqF;AACrF,oEAA+D;AAC/D,iDAA6C;AAC7C,2EAAsE;AACtE,6DAAwD;AACxD,wEAA+D;AAC/D,oDAAoD;
|
|
1
|
+
{"version":3,"file":"debug-hover-widget.js","sourceRoot":"","sources":["../../../src/browser/editor/debug-hover-widget.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/debug",
|
|
3
|
-
"version": "1.29.0-next.
|
|
3
|
+
"version": "1.29.0-next.9+7b29ac6f2d1",
|
|
4
4
|
"description": "Theia - Debug Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/console": "1.29.0-next.
|
|
7
|
-
"@theia/core": "1.29.0-next.
|
|
8
|
-
"@theia/editor": "1.29.0-next.
|
|
9
|
-
"@theia/filesystem": "1.29.0-next.
|
|
10
|
-
"@theia/markers": "1.29.0-next.
|
|
11
|
-
"@theia/monaco": "1.29.0-next.
|
|
6
|
+
"@theia/console": "1.29.0-next.9+7b29ac6f2d1",
|
|
7
|
+
"@theia/core": "1.29.0-next.9+7b29ac6f2d1",
|
|
8
|
+
"@theia/editor": "1.29.0-next.9+7b29ac6f2d1",
|
|
9
|
+
"@theia/filesystem": "1.29.0-next.9+7b29ac6f2d1",
|
|
10
|
+
"@theia/markers": "1.29.0-next.9+7b29ac6f2d1",
|
|
11
|
+
"@theia/monaco": "1.29.0-next.9+7b29ac6f2d1",
|
|
12
12
|
"@theia/monaco-editor-core": "1.67.2",
|
|
13
|
-
"@theia/output": "1.29.0-next.
|
|
14
|
-
"@theia/process": "1.29.0-next.
|
|
15
|
-
"@theia/task": "1.29.0-next.
|
|
16
|
-
"@theia/terminal": "1.29.0-next.
|
|
17
|
-
"@theia/variable-resolver": "1.29.0-next.
|
|
18
|
-
"@theia/workspace": "1.29.0-next.
|
|
13
|
+
"@theia/output": "1.29.0-next.9+7b29ac6f2d1",
|
|
14
|
+
"@theia/process": "1.29.0-next.9+7b29ac6f2d1",
|
|
15
|
+
"@theia/task": "1.29.0-next.9+7b29ac6f2d1",
|
|
16
|
+
"@theia/terminal": "1.29.0-next.9+7b29ac6f2d1",
|
|
17
|
+
"@theia/variable-resolver": "1.29.0-next.9+7b29ac6f2d1",
|
|
18
|
+
"@theia/workspace": "1.29.0-next.9+7b29ac6f2d1",
|
|
19
19
|
"jsonc-parser": "^2.2.0",
|
|
20
20
|
"mkdirp": "^0.5.0",
|
|
21
21
|
"p-debounce": "^2.1.0",
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
"nyc": {
|
|
69
69
|
"extends": "../../configs/nyc.json"
|
|
70
70
|
},
|
|
71
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "7b29ac6f2d1a75b44b5c5d37ec7ae0200e0c3e99"
|
|
72
72
|
}
|
|
@@ -28,6 +28,11 @@ import { DebugExpressionProvider } from './debug-expression-provider';
|
|
|
28
28
|
import { DebugHoverSource } from './debug-hover-source';
|
|
29
29
|
import { DebugVariable } from '../console/debug-console-items';
|
|
30
30
|
import * as monaco from '@theia/monaco-editor-core';
|
|
31
|
+
import { StandaloneServices } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices';
|
|
32
|
+
import { ILanguageFeaturesService } from '@theia/monaco-editor-core/esm/vs/editor/common/services/languageFeatures';
|
|
33
|
+
import { CancellationTokenSource } from '@theia/monaco-editor-core/esm/vs/base/common/cancellation';
|
|
34
|
+
import { Position } from '@theia/monaco-editor-core/esm/vs/editor/common/core/position';
|
|
35
|
+
import { ArrayUtils } from '@theia/core';
|
|
31
36
|
|
|
32
37
|
export interface ShowDebugHoverOptions {
|
|
33
38
|
selection: monaco.Range
|
|
@@ -146,6 +151,8 @@ export class DebugHoverWidget extends SourceTreeWidget implements monaco.editor.
|
|
|
146
151
|
}
|
|
147
152
|
|
|
148
153
|
protected async doShow(options: ShowDebugHoverOptions | undefined = this.options): Promise<void> {
|
|
154
|
+
const cancellationSource = new CancellationTokenSource();
|
|
155
|
+
|
|
149
156
|
if (!this.isEditorFrame()) {
|
|
150
157
|
this.hide();
|
|
151
158
|
return;
|
|
@@ -162,7 +169,33 @@ export class DebugHoverWidget extends SourceTreeWidget implements monaco.editor.
|
|
|
162
169
|
}
|
|
163
170
|
|
|
164
171
|
this.options = options;
|
|
165
|
-
|
|
172
|
+
let matchingExpression: string | undefined;
|
|
173
|
+
|
|
174
|
+
const pluginExpressionProvider = StandaloneServices.get(ILanguageFeaturesService).evaluatableExpressionProvider;
|
|
175
|
+
const textEditorModel = this.editor.document.textEditorModel;
|
|
176
|
+
|
|
177
|
+
if (pluginExpressionProvider && pluginExpressionProvider.has(textEditorModel)) {
|
|
178
|
+
const registeredProviders = pluginExpressionProvider.ordered(textEditorModel);
|
|
179
|
+
const position = new Position(this.options!.selection.startLineNumber, this.options!.selection.startColumn);
|
|
180
|
+
|
|
181
|
+
const promises = registeredProviders.map(support =>
|
|
182
|
+
Promise.resolve(support.provideEvaluatableExpression(textEditorModel, position, cancellationSource.token))
|
|
183
|
+
);
|
|
184
|
+
|
|
185
|
+
const results = await Promise.all(promises).then(ArrayUtils.coalesce);
|
|
186
|
+
if (results.length > 0) {
|
|
187
|
+
matchingExpression = results[0].expression;
|
|
188
|
+
const range = results[0].range;
|
|
189
|
+
|
|
190
|
+
if (!matchingExpression) {
|
|
191
|
+
const lineContent = textEditorModel.getLineContent(position.lineNumber);
|
|
192
|
+
matchingExpression = lineContent.substring(range.startColumn - 1, range.endColumn - 1);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
} else { // use fallback if no provider was registered
|
|
196
|
+
matchingExpression = this.expressionProvider.get(this.editor.getControl().getModel()!, options.selection);
|
|
197
|
+
}
|
|
198
|
+
|
|
166
199
|
if (!matchingExpression) {
|
|
167
200
|
this.hide();
|
|
168
201
|
return;
|