@theia/plugin-ext 1.27.0-next.7 → 1.27.0-next.8
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/main/browser/debug/plugin-debug-service.d.ts +6 -0
- package/lib/main/browser/debug/plugin-debug-service.d.ts.map +1 -1
- package/lib/main/browser/debug/plugin-debug-service.js +25 -3
- package/lib/main/browser/debug/plugin-debug-service.js.map +1 -1
- package/package.json +24 -24
- package/src/main/browser/debug/plugin-debug-service.ts +32 -3
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
/// <reference types="lodash" />
|
|
1
2
|
import { DebuggerDescription, DebugService } from '@theia/debug/lib/common/debug-service';
|
|
3
|
+
import { Emitter, Event } from '@theia/core';
|
|
2
4
|
import { Disposable, DisposableCollection } from '@theia/core/lib/common/disposable';
|
|
3
5
|
import { DebugConfiguration } from '@theia/debug/lib/common/debug-configuration';
|
|
4
6
|
import { IJSONSchema, IJSONSchemaSnippet } from '@theia/core/lib/common/json-schema';
|
|
@@ -18,6 +20,8 @@ export declare class PluginDebugService implements DebugService {
|
|
|
18
20
|
protected readonly contributors: Map<string, PluginDebugAdapterContribution>;
|
|
19
21
|
protected readonly configurationProviders: Map<number, PluginDebugConfigurationProvider>;
|
|
20
22
|
protected readonly toDispose: DisposableCollection;
|
|
23
|
+
protected readonly onDidChangeDebugConfigurationProvidersEmitter: Emitter<void>;
|
|
24
|
+
get onDidChangeDebugConfigurationProviders(): Event<void>;
|
|
21
25
|
protected readonly sessionId2contrib: Map<string, PluginDebugAdapterContribution>;
|
|
22
26
|
protected delegated: DebugService;
|
|
23
27
|
protected readonly connectionProvider: WebSocketConnectionProvider;
|
|
@@ -25,10 +29,12 @@ export declare class PluginDebugService implements DebugService {
|
|
|
25
29
|
protected init(): void;
|
|
26
30
|
registerDebugAdapterContribution(contrib: PluginDebugAdapterContribution): Disposable;
|
|
27
31
|
unregisterDebugAdapterContribution(debugType: string): void;
|
|
32
|
+
fireOnDidConfigurationProvidersChanged: import("lodash").DebouncedFunc<() => void>;
|
|
28
33
|
registerDebugConfigurationProvider(provider: PluginDebugConfigurationProvider): Disposable;
|
|
29
34
|
unregisterDebugConfigurationProvider(handle: number): void;
|
|
30
35
|
debugTypes(): Promise<string[]>;
|
|
31
36
|
provideDebugConfigurations(debugType: keyof DebugRequestTypes, workspaceFolderUri: string | undefined): Promise<theia.DebugConfiguration[]>;
|
|
37
|
+
fetchDynamicDebugConfiguration(name: string, providerType: string): Promise<DebugConfiguration | undefined>;
|
|
32
38
|
provideDynamicDebugConfigurations(): Promise<Record<string, DebugConfiguration[]>>;
|
|
33
39
|
resolveDebugConfiguration(config: DebugConfiguration, workspaceFolderUri: string | undefined): Promise<DebugConfiguration | undefined | null>;
|
|
34
40
|
resolveDebugConfigurationWithSubstitutedVariables(config: DebugConfiguration, workspaceFolderUri: string | undefined): Promise<DebugConfiguration | undefined | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-debug-service.d.ts","sourceRoot":"","sources":["../../../../src/main/browser/debug/plugin-debug-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,mBAAmB,EAAa,YAAY,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-debug-service.d.ts","sourceRoot":"","sources":["../../../../src/main/browser/debug/plugin-debug-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
26
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
27
|
exports.PluginDebugService = void 0;
|
|
28
28
|
const debug_service_1 = require("@theia/debug/lib/common/debug-service");
|
|
29
|
+
const debounce = require("@theia/core/shared/lodash.debounce");
|
|
30
|
+
const core_1 = require("@theia/core");
|
|
29
31
|
const disposable_1 = require("@theia/core/lib/common/disposable");
|
|
30
32
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
31
33
|
const ws_connection_provider_1 = require("@theia/core/lib/browser/messaging/ws-connection-provider");
|
|
@@ -40,8 +42,16 @@ let PluginDebugService = class PluginDebugService {
|
|
|
40
42
|
this.contributors = new Map();
|
|
41
43
|
this.configurationProviders = new Map();
|
|
42
44
|
this.toDispose = new disposable_1.DisposableCollection();
|
|
45
|
+
this.onDidChangeDebugConfigurationProvidersEmitter = new core_1.Emitter();
|
|
43
46
|
// maps session and contribution
|
|
44
47
|
this.sessionId2contrib = new Map();
|
|
48
|
+
// debouncing to send a single notification for multiple registrations at initialization time
|
|
49
|
+
this.fireOnDidConfigurationProvidersChanged = debounce(() => {
|
|
50
|
+
this.onDidChangeDebugConfigurationProvidersEmitter.fire();
|
|
51
|
+
}, 100);
|
|
52
|
+
}
|
|
53
|
+
get onDidChangeDebugConfigurationProviders() {
|
|
54
|
+
return this.onDidChangeDebugConfigurationProvidersEmitter.event;
|
|
45
55
|
}
|
|
46
56
|
init() {
|
|
47
57
|
this.delegated = this.connectionProvider.createProxy(debug_service_1.DebugPath);
|
|
@@ -71,10 +81,12 @@ let PluginDebugService = class PluginDebugService {
|
|
|
71
81
|
registerDebugConfigurationProvider(provider) {
|
|
72
82
|
const handle = provider.handle;
|
|
73
83
|
this.configurationProviders.set(handle, provider);
|
|
84
|
+
this.fireOnDidConfigurationProvidersChanged();
|
|
74
85
|
return disposable_1.Disposable.create(() => this.unregisterDebugConfigurationProvider(handle));
|
|
75
86
|
}
|
|
76
87
|
unregisterDebugConfigurationProvider(handle) {
|
|
77
88
|
this.configurationProviders.delete(handle);
|
|
89
|
+
this.fireOnDidConfigurationProvidersChanged();
|
|
78
90
|
}
|
|
79
91
|
async debugTypes() {
|
|
80
92
|
const debugTypes = new Set(await this.delegated.debugTypes());
|
|
@@ -102,15 +114,25 @@ let PluginDebugService = class PluginDebugService {
|
|
|
102
114
|
}));
|
|
103
115
|
return results;
|
|
104
116
|
}
|
|
117
|
+
async fetchDynamicDebugConfiguration(name, providerType) {
|
|
118
|
+
const pluginProviders = Array.from(this.configurationProviders.values()).filter(p => (p.triggerKind === plugin_api_rpc_1.DebugConfigurationProviderTriggerKind.Dynamic &&
|
|
119
|
+
p.type === providerType &&
|
|
120
|
+
p.provideDebugConfigurations));
|
|
121
|
+
for (const provider of pluginProviders) {
|
|
122
|
+
const configurations = await provider.provideDebugConfigurations(undefined);
|
|
123
|
+
for (const configuration of configurations) {
|
|
124
|
+
if (configuration.name === name) {
|
|
125
|
+
return configuration;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
105
130
|
async provideDynamicDebugConfigurations() {
|
|
106
131
|
const pluginProviders = Array.from(this.configurationProviders.values()).filter(p => (p.triggerKind === plugin_api_rpc_1.DebugConfigurationProviderTriggerKind.Dynamic &&
|
|
107
132
|
p.provideDebugConfigurations));
|
|
108
133
|
const configurationsRecord = {};
|
|
109
134
|
await Promise.all(pluginProviders.map(async (provider) => {
|
|
110
135
|
const configurations = await provider.provideDebugConfigurations(undefined);
|
|
111
|
-
for (const configuration of configurations) {
|
|
112
|
-
configuration.dynamic = true;
|
|
113
|
-
}
|
|
114
136
|
let configurationsPerType = configurationsRecord[provider.type];
|
|
115
137
|
configurationsPerType = configurationsPerType ? configurationsPerType.concat(configurations) : configurations;
|
|
116
138
|
if (configurationsPerType.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-debug-service.js","sourceRoot":"","sources":["../../../../src/main/browser/debug/plugin-debug-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,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,yEAAqG;AACrG,kEAAqF;AAKrF,4DAAiF;AACjF,qGAAuG;AACvG,0DAAgE;AAEhE,mEAAuF;AAKvF;;GAEG;AAEH,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAA/B;QAEuB,cAAS,GAA2B,EAAE,CAAC;QACvC,iBAAY,GAAG,IAAI,GAAG,EAA0C,CAAC;QACjE,2BAAsB,GAAG,IAAI,GAAG,EAA4C,CAAC;QAC7E,cAAS,GAAG,IAAI,iCAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-debug-service.js","sourceRoot":"","sources":["../../../../src/main/browser/debug/plugin-debug-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/plugin-ext",
|
|
3
|
-
"version": "1.27.0-next.
|
|
3
|
+
"version": "1.27.0-next.8+e1e200a7bfb",
|
|
4
4
|
"description": "Theia - Plugin Extension",
|
|
5
5
|
"main": "lib/common/index.js",
|
|
6
6
|
"typings": "lib/common/index.d.ts",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@theia/bulk-edit": "1.27.0-next.
|
|
9
|
-
"@theia/callhierarchy": "1.27.0-next.
|
|
10
|
-
"@theia/console": "1.27.0-next.
|
|
11
|
-
"@theia/core": "1.27.0-next.
|
|
12
|
-
"@theia/debug": "1.27.0-next.
|
|
13
|
-
"@theia/editor": "1.27.0-next.
|
|
14
|
-
"@theia/file-search": "1.27.0-next.
|
|
15
|
-
"@theia/filesystem": "1.27.0-next.
|
|
16
|
-
"@theia/markers": "1.27.0-next.
|
|
17
|
-
"@theia/messages": "1.27.0-next.
|
|
18
|
-
"@theia/monaco": "1.27.0-next.
|
|
8
|
+
"@theia/bulk-edit": "1.27.0-next.8+e1e200a7bfb",
|
|
9
|
+
"@theia/callhierarchy": "1.27.0-next.8+e1e200a7bfb",
|
|
10
|
+
"@theia/console": "1.27.0-next.8+e1e200a7bfb",
|
|
11
|
+
"@theia/core": "1.27.0-next.8+e1e200a7bfb",
|
|
12
|
+
"@theia/debug": "1.27.0-next.8+e1e200a7bfb",
|
|
13
|
+
"@theia/editor": "1.27.0-next.8+e1e200a7bfb",
|
|
14
|
+
"@theia/file-search": "1.27.0-next.8+e1e200a7bfb",
|
|
15
|
+
"@theia/filesystem": "1.27.0-next.8+e1e200a7bfb",
|
|
16
|
+
"@theia/markers": "1.27.0-next.8+e1e200a7bfb",
|
|
17
|
+
"@theia/messages": "1.27.0-next.8+e1e200a7bfb",
|
|
18
|
+
"@theia/monaco": "1.27.0-next.8+e1e200a7bfb",
|
|
19
19
|
"@theia/monaco-editor-core": "1.65.2",
|
|
20
|
-
"@theia/navigator": "1.27.0-next.
|
|
21
|
-
"@theia/output": "1.27.0-next.
|
|
22
|
-
"@theia/plugin": "1.27.0-next.
|
|
23
|
-
"@theia/preferences": "1.27.0-next.
|
|
24
|
-
"@theia/scm": "1.27.0-next.
|
|
25
|
-
"@theia/search-in-workspace": "1.27.0-next.
|
|
26
|
-
"@theia/task": "1.27.0-next.
|
|
27
|
-
"@theia/terminal": "1.27.0-next.
|
|
28
|
-
"@theia/timeline": "1.27.0-next.
|
|
29
|
-
"@theia/variable-resolver": "1.27.0-next.
|
|
30
|
-
"@theia/workspace": "1.27.0-next.
|
|
20
|
+
"@theia/navigator": "1.27.0-next.8+e1e200a7bfb",
|
|
21
|
+
"@theia/output": "1.27.0-next.8+e1e200a7bfb",
|
|
22
|
+
"@theia/plugin": "1.27.0-next.8+e1e200a7bfb",
|
|
23
|
+
"@theia/preferences": "1.27.0-next.8+e1e200a7bfb",
|
|
24
|
+
"@theia/scm": "1.27.0-next.8+e1e200a7bfb",
|
|
25
|
+
"@theia/search-in-workspace": "1.27.0-next.8+e1e200a7bfb",
|
|
26
|
+
"@theia/task": "1.27.0-next.8+e1e200a7bfb",
|
|
27
|
+
"@theia/terminal": "1.27.0-next.8+e1e200a7bfb",
|
|
28
|
+
"@theia/timeline": "1.27.0-next.8+e1e200a7bfb",
|
|
29
|
+
"@theia/variable-resolver": "1.27.0-next.8+e1e200a7bfb",
|
|
30
|
+
"@theia/workspace": "1.27.0-next.8+e1e200a7bfb",
|
|
31
31
|
"@types/mime": "^2.0.1",
|
|
32
32
|
"decompress": "^4.2.1",
|
|
33
33
|
"escape-html": "^1.0.3",
|
|
@@ -93,5 +93,5 @@
|
|
|
93
93
|
"nyc": {
|
|
94
94
|
"extends": "../../configs/nyc.json"
|
|
95
95
|
},
|
|
96
|
-
"gitHead": "
|
|
96
|
+
"gitHead": "e1e200a7bfb9c7b9b87bf63dd8e101e734281222"
|
|
97
97
|
}
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { DebuggerDescription, DebugPath, DebugService } from '@theia/debug/lib/common/debug-service';
|
|
18
|
+
import debounce = require('@theia/core/shared/lodash.debounce');
|
|
19
|
+
import { Emitter, Event } from '@theia/core';
|
|
18
20
|
import { Disposable, DisposableCollection } from '@theia/core/lib/common/disposable';
|
|
19
21
|
import { DebugConfiguration } from '@theia/debug/lib/common/debug-configuration';
|
|
20
22
|
import { IJSONSchema, IJSONSchemaSnippet } from '@theia/core/lib/common/json-schema';
|
|
@@ -40,6 +42,11 @@ export class PluginDebugService implements DebugService {
|
|
|
40
42
|
protected readonly configurationProviders = new Map<number, PluginDebugConfigurationProvider>();
|
|
41
43
|
protected readonly toDispose = new DisposableCollection();
|
|
42
44
|
|
|
45
|
+
protected readonly onDidChangeDebugConfigurationProvidersEmitter = new Emitter<void>();
|
|
46
|
+
get onDidChangeDebugConfigurationProviders(): Event<void> {
|
|
47
|
+
return this.onDidChangeDebugConfigurationProvidersEmitter.event;
|
|
48
|
+
}
|
|
49
|
+
|
|
43
50
|
// maps session and contribution
|
|
44
51
|
protected readonly sessionId2contrib = new Map<string, PluginDebugAdapterContribution>();
|
|
45
52
|
protected delegated: DebugService;
|
|
@@ -79,14 +86,21 @@ export class PluginDebugService implements DebugService {
|
|
|
79
86
|
this.contributors.delete(debugType);
|
|
80
87
|
}
|
|
81
88
|
|
|
89
|
+
// debouncing to send a single notification for multiple registrations at initialization time
|
|
90
|
+
fireOnDidConfigurationProvidersChanged = debounce(() => {
|
|
91
|
+
this.onDidChangeDebugConfigurationProvidersEmitter.fire();
|
|
92
|
+
}, 100);
|
|
93
|
+
|
|
82
94
|
registerDebugConfigurationProvider(provider: PluginDebugConfigurationProvider): Disposable {
|
|
83
95
|
const handle = provider.handle;
|
|
84
96
|
this.configurationProviders.set(handle, provider);
|
|
97
|
+
this.fireOnDidConfigurationProvidersChanged();
|
|
85
98
|
return Disposable.create(() => this.unregisterDebugConfigurationProvider(handle));
|
|
86
99
|
}
|
|
87
100
|
|
|
88
101
|
unregisterDebugConfigurationProvider(handle: number): void {
|
|
89
102
|
this.configurationProviders.delete(handle);
|
|
103
|
+
this.fireOnDidConfigurationProvidersChanged();
|
|
90
104
|
}
|
|
91
105
|
|
|
92
106
|
async debugTypes(): Promise<string[]> {
|
|
@@ -123,6 +137,24 @@ export class PluginDebugService implements DebugService {
|
|
|
123
137
|
return results;
|
|
124
138
|
}
|
|
125
139
|
|
|
140
|
+
async fetchDynamicDebugConfiguration(name: string, providerType: string): Promise<DebugConfiguration | undefined> {
|
|
141
|
+
const pluginProviders =
|
|
142
|
+
Array.from(this.configurationProviders.values()).filter(p => (
|
|
143
|
+
p.triggerKind === DebugConfigurationProviderTriggerKind.Dynamic &&
|
|
144
|
+
p.type === providerType &&
|
|
145
|
+
p.provideDebugConfigurations
|
|
146
|
+
));
|
|
147
|
+
|
|
148
|
+
for (const provider of pluginProviders) {
|
|
149
|
+
const configurations = await provider.provideDebugConfigurations(undefined);
|
|
150
|
+
for (const configuration of configurations) {
|
|
151
|
+
if (configuration.name === name) {
|
|
152
|
+
return configuration;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
126
158
|
async provideDynamicDebugConfigurations(): Promise<Record<string, DebugConfiguration[]>> {
|
|
127
159
|
const pluginProviders =
|
|
128
160
|
Array.from(this.configurationProviders.values()).filter(p => (
|
|
@@ -134,9 +166,6 @@ export class PluginDebugService implements DebugService {
|
|
|
134
166
|
|
|
135
167
|
await Promise.all(pluginProviders.map(async provider => {
|
|
136
168
|
const configurations = await provider.provideDebugConfigurations(undefined);
|
|
137
|
-
for (const configuration of configurations) {
|
|
138
|
-
configuration.dynamic = true;
|
|
139
|
-
}
|
|
140
169
|
let configurationsPerType = configurationsRecord[provider.type];
|
|
141
170
|
configurationsPerType = configurationsPerType ? configurationsPerType.concat(configurations) : configurations;
|
|
142
171
|
|