@theia/plugin-metrics 1.67.0-next.13 → 1.67.0-next.56

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 (62) hide show
  1. package/README.md +2 -2
  2. package/package.json +6 -6
  3. package/lib/browser/plugin-metrics-creator.d.ts +0 -68
  4. package/lib/browser/plugin-metrics-creator.d.ts.map +0 -1
  5. package/lib/browser/plugin-metrics-creator.js +0 -178
  6. package/lib/browser/plugin-metrics-creator.js.map +0 -1
  7. package/lib/browser/plugin-metrics-frontend-module.d.ts +0 -4
  8. package/lib/browser/plugin-metrics-frontend-module.d.ts.map +0 -1
  9. package/lib/browser/plugin-metrics-frontend-module.js +0 -37
  10. package/lib/browser/plugin-metrics-frontend-module.js.map +0 -1
  11. package/lib/browser/plugin-metrics-languages-main.d.ts +0 -59
  12. package/lib/browser/plugin-metrics-languages-main.d.ts.map +0 -1
  13. package/lib/browser/plugin-metrics-languages-main.js +0 -204
  14. package/lib/browser/plugin-metrics-languages-main.js.map +0 -1
  15. package/lib/browser/plugin-metrics-output-registry.d.ts +0 -8
  16. package/lib/browser/plugin-metrics-output-registry.d.ts.map +0 -1
  17. package/lib/browser/plugin-metrics-output-registry.js +0 -41
  18. package/lib/browser/plugin-metrics-output-registry.js.map +0 -1
  19. package/lib/browser/plugin-metrics-resolver.d.ts +0 -18
  20. package/lib/browser/plugin-metrics-resolver.d.ts.map +0 -1
  21. package/lib/browser/plugin-metrics-resolver.js +0 -62
  22. package/lib/browser/plugin-metrics-resolver.js.map +0 -1
  23. package/lib/common/metrics-protocol.d.ts +0 -11
  24. package/lib/common/metrics-protocol.d.ts.map +0 -1
  25. package/lib/common/metrics-protocol.js +0 -25
  26. package/lib/common/metrics-protocol.js.map +0 -1
  27. package/lib/common/plugin-metrics-types.d.ts +0 -28
  28. package/lib/common/plugin-metrics-types.d.ts.map +0 -1
  29. package/lib/common/plugin-metrics-types.js +0 -57
  30. package/lib/common/plugin-metrics-types.js.map +0 -1
  31. package/lib/node/metric-output/plugin-metrics-time-count.d.ts +0 -6
  32. package/lib/node/metric-output/plugin-metrics-time-count.d.ts.map +0 -1
  33. package/lib/node/metric-output/plugin-metrics-time-count.js +0 -39
  34. package/lib/node/metric-output/plugin-metrics-time-count.js.map +0 -1
  35. package/lib/node/metric-output/plugin-metrics-time-sum.d.ts +0 -6
  36. package/lib/node/metric-output/plugin-metrics-time-sum.d.ts.map +0 -1
  37. package/lib/node/metric-output/plugin-metrics-time-sum.js +0 -37
  38. package/lib/node/metric-output/plugin-metrics-time-sum.js.map +0 -1
  39. package/lib/node/metric-string-generator.d.ts +0 -7
  40. package/lib/node/metric-string-generator.d.ts.map +0 -1
  41. package/lib/node/metric-string-generator.js +0 -71
  42. package/lib/node/metric-string-generator.js.map +0 -1
  43. package/lib/node/metrics-contributor.d.ts +0 -7
  44. package/lib/node/metrics-contributor.d.ts.map +0 -1
  45. package/lib/node/metrics-contributor.js +0 -72
  46. package/lib/node/metrics-contributor.js.map +0 -1
  47. package/lib/node/metrics-contributor.spec.d.ts +0 -2
  48. package/lib/node/metrics-contributor.spec.d.ts.map +0 -1
  49. package/lib/node/metrics-contributor.spec.js +0 -204
  50. package/lib/node/metrics-contributor.spec.js.map +0 -1
  51. package/lib/node/plugin-metrics-backend-module.d.ts +0 -4
  52. package/lib/node/plugin-metrics-backend-module.d.ts.map +0 -1
  53. package/lib/node/plugin-metrics-backend-module.js +0 -48
  54. package/lib/node/plugin-metrics-backend-module.js.map +0 -1
  55. package/lib/node/plugin-metrics-impl.d.ts +0 -11
  56. package/lib/node/plugin-metrics-impl.d.ts.map +0 -1
  57. package/lib/node/plugin-metrics-impl.js +0 -41
  58. package/lib/node/plugin-metrics-impl.js.map +0 -1
  59. package/lib/node/plugin-metrics.d.ts +0 -11
  60. package/lib/node/plugin-metrics.d.ts.map +0 -1
  61. package/lib/node/plugin-metrics.js +0 -47
  62. package/lib/node/plugin-metrics.js.map +0 -1
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  <img src='https://raw.githubusercontent.com/eclipse-theia/theia/master/logo/theia.svg?sanitize=true' alt='theia-ext-logo' width='100px' />
6
6
 
7
- <h2>ECLIPSE THEIA - PLUGIN-EXT-VSCODE EXTENSION</h2>
7
+ <h2>ECLIPSE THEIA - PLUGIN-METRICS EXTENSION</h2>
8
8
 
9
9
  <hr />
10
10
 
@@ -49,7 +49,7 @@ Then, when you load up the /metrics endpoint you will see the new language metri
49
49
 
50
50
  ## Additional Information
51
51
 
52
- - [API documentation for `@theia/plugin-metrics`](https://eclipse-theia.github.io/theia/docs/next/modules/plugin_metrics.html)
52
+ - [API documentation for `@theia/plugin-metrics`](https://eclipse-theia.github.io/theia/docs/next/modules/_theia_plugin-metrics.html)
53
53
  - [Theia - GitHub](https://github.com/eclipse-theia/theia)
54
54
  - [Theia - Website](https://theia-ide.org/)
55
55
 
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@theia/plugin-metrics",
3
- "version": "1.67.0-next.13+c409d5d18",
3
+ "version": "1.67.0-next.56+d8f18cc386c",
4
4
  "description": "Theia - Plugin Metrics",
5
5
  "dependencies": {
6
- "@theia/core": "1.67.0-next.13+c409d5d18",
7
- "@theia/metrics": "1.67.0-next.13+c409d5d18",
6
+ "@theia/core": "1.67.0-next.56+d8f18cc386c",
7
+ "@theia/metrics": "1.67.0-next.56+d8f18cc386c",
8
8
  "@theia/monaco-editor-core": "1.96.302",
9
- "@theia/plugin": "1.67.0-next.13+c409d5d18",
10
- "@theia/plugin-ext": "1.67.0-next.13+c409d5d18",
9
+ "@theia/plugin": "1.67.0-next.56+d8f18cc386c",
10
+ "@theia/plugin-ext": "1.67.0-next.56+d8f18cc386c",
11
11
  "tslib": "^2.6.2"
12
12
  },
13
13
  "publishConfig": {
@@ -49,5 +49,5 @@
49
49
  "nyc": {
50
50
  "extends": "../../configs/nyc.json"
51
51
  },
52
- "gitHead": "c409d5d18d8c4f5a722f87b37ea9d6fd5af47ea8"
52
+ "gitHead": "d8f18cc386c45a736cd193d42eab02c8f64c6b10"
53
53
  }
@@ -1,68 +0,0 @@
1
- import { DataFromRequest, MetricsMap } from '../common/plugin-metrics-types';
2
- export declare class PluginMetricsCreator {
3
- private pluginMetrics;
4
- private _extensionIDAnalytics;
5
- private NODE_BASED_REGEX;
6
- constructor();
7
- /**
8
- * Create an error metric for requestData.pluginID by attempting to extract the erroring
9
- * language server method from the requestData.errorContentsOrMethod. If it cannot extract the
10
- * error language server method from requestData.errorContentsOrMethod then it will not
11
- * create a metric.
12
- *
13
- * @param pluginID The id of the plugin
14
- * @param errorContents The contents that the language server error has produced
15
- */
16
- createErrorMetric(requestData: DataFromRequest): Promise<void>;
17
- /**
18
- * Decreases the total requests and the successful responses for pluginID with method by 1.
19
- *
20
- * This is needed because an error and a successful language server request aren't currently
21
- * associated together because of https://github.com/microsoft/vscode-languageserver-node/issues/517.
22
- * That means that every language server request that resolves counts as a successful language server request.
23
- * Therefore, we need to decrease the extension requests for pluginID when we know there is an error.
24
- * Otherwise, for every language server request that errors we would count it as both a success and a failure.
25
- *
26
- * @param pluginID The id of the plugin that should have the decreased requests
27
- */
28
- private decreaseExtensionRequests;
29
- /**
30
- * Update the internal metrics structure for pluginID with method when a request is made
31
- *
32
- * @param requestData The data from the request that was made
33
- * @param isRequestSuccessful If the language server request was successful or not
34
- */
35
- createMetric(requestData: DataFromRequest, isRequestSuccessful: boolean): Promise<void>;
36
- /**
37
- * Create an entry in _extensionIDAnalytics with createdAnalytic if there does not exist one
38
- *
39
- * @param requestData data that we will turn into metrics
40
- * @param createdAnalytic the analytic being created
41
- */
42
- private createExtensionIDAnalyticIfNotFound;
43
- /**
44
- * Create an entry in _extensionIDAnalytics for requestData.pluginID with requestData.errorContentsOrMethod as the method
45
- * if there does not exist one
46
- *
47
- * @param requestData data that we will turn into metrics
48
- * @param createdAnalytic the analytic being created
49
- */
50
- private createExtensionIDMethodIfNotFound;
51
- /**
52
- * setPluginMetrics is a constant running function that sets
53
- * pluginMetrics every {$METRICS_TIMEOUT} seconds so that it doesn't
54
- * update /metrics on every request
55
- */
56
- private setPluginMetrics;
57
- get extensionIDAnalytics(): MetricsMap;
58
- /**
59
- * Attempts to extract the method name from the current errorContents using the
60
- * vscode-languageclient matching regex.
61
- *
62
- * If it cannot find a match in the errorContents it returns undefined
63
- *
64
- * @param errorContents The contents of the current error or undefined
65
- */
66
- private extractMethodFromValue;
67
- }
68
- //# sourceMappingURL=plugin-metrics-creator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-metrics-creator.d.ts","sourceRoot":"","sources":["../../src/browser/plugin-metrics-creator.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAyB,eAAe,EAA6C,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE/I,qBACa,oBAAoB;IAG7B,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,qBAAqB,CAAa;IAE1C,OAAO,CAAC,gBAAgB,CAAwB;;IAOhD;;;;;;;;OAQG;IACG,iBAAiB,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpE;;;;;;;;;;OAUG;IACH,OAAO,CAAC,yBAAyB;IAWjC;;;;;OAKG;IACG,YAAY,CAAC,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B7F;;;;;OAKG;IACH,OAAO,CAAC,mCAAmC;IAU3C;;;;;;OAMG;IACH,OAAO,CAAC,iCAAiC;IAWzC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAUxB,IAAI,oBAAoB,IAAI,UAAU,CAErC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;CAUjC"}
@@ -1,178 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2019 Red Hat, Inc. and others.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.PluginMetricsCreator = void 0;
19
- const tslib_1 = require("tslib");
20
- const inversify_1 = require("@theia/core/shared/inversify");
21
- const metrics_protocol_1 = require("../common/metrics-protocol");
22
- const plugin_metrics_types_1 = require("../common/plugin-metrics-types");
23
- let PluginMetricsCreator = class PluginMetricsCreator {
24
- constructor() {
25
- this.NODE_BASED_REGEX = /Request(.*?)failed/;
26
- this.setPluginMetrics();
27
- this._extensionIDAnalytics = {};
28
- }
29
- /**
30
- * Create an error metric for requestData.pluginID by attempting to extract the erroring
31
- * language server method from the requestData.errorContentsOrMethod. If it cannot extract the
32
- * error language server method from requestData.errorContentsOrMethod then it will not
33
- * create a metric.
34
- *
35
- * @param pluginID The id of the plugin
36
- * @param errorContents The contents that the language server error has produced
37
- */
38
- async createErrorMetric(requestData) {
39
- if (!requestData.pluginID) {
40
- return;
41
- }
42
- const method = this.extractMethodFromValue(requestData.errorContentsOrMethod);
43
- // only log the metric if we can find the method that it occurred in
44
- if (method) {
45
- const createdMetric = (0, plugin_metrics_types_1.createRequestData)(requestData.pluginID, method, requestData.timeTaken);
46
- this.createMetric(createdMetric, false);
47
- this.decreaseExtensionRequests(requestData.pluginID, method);
48
- }
49
- }
50
- /**
51
- * Decreases the total requests and the successful responses for pluginID with method by 1.
52
- *
53
- * This is needed because an error and a successful language server request aren't currently
54
- * associated together because of https://github.com/microsoft/vscode-languageserver-node/issues/517.
55
- * That means that every language server request that resolves counts as a successful language server request.
56
- * Therefore, we need to decrease the extension requests for pluginID when we know there is an error.
57
- * Otherwise, for every language server request that errors we would count it as both a success and a failure.
58
- *
59
- * @param pluginID The id of the plugin that should have the decreased requests
60
- */
61
- decreaseExtensionRequests(pluginID, method) {
62
- const thisExtension = this._extensionIDAnalytics[pluginID];
63
- if (thisExtension) {
64
- const currentAnalytics = thisExtension[method];
65
- if (currentAnalytics) {
66
- currentAnalytics.totalRequests -= 1;
67
- currentAnalytics.successfulResponses -= 1;
68
- }
69
- }
70
- }
71
- /**
72
- * Update the internal metrics structure for pluginID with method when a request is made
73
- *
74
- * @param requestData The data from the request that was made
75
- * @param isRequestSuccessful If the language server request was successful or not
76
- */
77
- async createMetric(requestData, isRequestSuccessful) {
78
- if (!requestData.pluginID) {
79
- return;
80
- }
81
- // When we are in this function we know its a method so we can make it clearer
82
- const method = requestData.errorContentsOrMethod;
83
- const defaultAnalytic = (0, plugin_metrics_types_1.createDefaultAnalytics)(requestData.timeTaken, isRequestSuccessful);
84
- this.createExtensionIDAnalyticIfNotFound(requestData, defaultAnalytic);
85
- this.createExtensionIDMethodIfNotFound(requestData, defaultAnalytic);
86
- const thisExtension = this._extensionIDAnalytics[requestData.pluginID];
87
- if (thisExtension) {
88
- const currentAnalytic = thisExtension[method];
89
- if (currentAnalytic) {
90
- currentAnalytic.totalRequests += 1;
91
- if (isRequestSuccessful) {
92
- currentAnalytic.successfulResponses += 1;
93
- }
94
- if (isRequestSuccessful) {
95
- currentAnalytic.sumOfTimeForSuccess = currentAnalytic.sumOfTimeForSuccess + requestData.timeTaken;
96
- }
97
- else {
98
- currentAnalytic.sumOfTimeForFailure = currentAnalytic.sumOfTimeForFailure + requestData.timeTaken;
99
- }
100
- }
101
- }
102
- }
103
- /**
104
- * Create an entry in _extensionIDAnalytics with createdAnalytic if there does not exist one
105
- *
106
- * @param requestData data that we will turn into metrics
107
- * @param createdAnalytic the analytic being created
108
- */
109
- createExtensionIDAnalyticIfNotFound(requestData, createdAnalytic) {
110
- const method = requestData.errorContentsOrMethod; // We know its a metric if this is being called
111
- if (!this._extensionIDAnalytics[requestData.pluginID]) {
112
- this._extensionIDAnalytics[requestData.pluginID] = {
113
- [method]: createdAnalytic
114
- };
115
- }
116
- }
117
- /**
118
- * Create an entry in _extensionIDAnalytics for requestData.pluginID with requestData.errorContentsOrMethod as the method
119
- * if there does not exist one
120
- *
121
- * @param requestData data that we will turn into metrics
122
- * @param createdAnalytic the analytic being created
123
- */
124
- createExtensionIDMethodIfNotFound(requestData, createdAnalytic) {
125
- const method = requestData.errorContentsOrMethod; // We know its a metric if this is being called
126
- if (this._extensionIDAnalytics[requestData.pluginID]) {
127
- const methodToAnalyticMap = this._extensionIDAnalytics[requestData.pluginID];
128
- if (!methodToAnalyticMap[method]) {
129
- methodToAnalyticMap[method] = createdAnalytic;
130
- }
131
- }
132
- }
133
- /**
134
- * setPluginMetrics is a constant running function that sets
135
- * pluginMetrics every {$METRICS_TIMEOUT} seconds so that it doesn't
136
- * update /metrics on every request
137
- */
138
- setPluginMetrics() {
139
- const self = this;
140
- setInterval(() => {
141
- if (Object.keys(self._extensionIDAnalytics).length !== 0) {
142
- self.pluginMetrics.setMetrics(JSON.stringify(self._extensionIDAnalytics));
143
- }
144
- }, metrics_protocol_1.METRICS_TIMEOUT);
145
- }
146
- // Map of plugin extension id to method to analytic
147
- get extensionIDAnalytics() {
148
- return this._extensionIDAnalytics;
149
- }
150
- /**
151
- * Attempts to extract the method name from the current errorContents using the
152
- * vscode-languageclient matching regex.
153
- *
154
- * If it cannot find a match in the errorContents it returns undefined
155
- *
156
- * @param errorContents The contents of the current error or undefined
157
- */
158
- extractMethodFromValue(errorContents) {
159
- if (!errorContents) {
160
- return undefined;
161
- }
162
- const matches = errorContents.match(this.NODE_BASED_REGEX);
163
- if (matches) {
164
- return matches[1].trim();
165
- }
166
- return undefined;
167
- }
168
- };
169
- exports.PluginMetricsCreator = PluginMetricsCreator;
170
- tslib_1.__decorate([
171
- (0, inversify_1.inject)(metrics_protocol_1.PluginMetrics),
172
- tslib_1.__metadata("design:type", Object)
173
- ], PluginMetricsCreator.prototype, "pluginMetrics", void 0);
174
- exports.PluginMetricsCreator = PluginMetricsCreator = tslib_1.__decorate([
175
- (0, inversify_1.injectable)(),
176
- tslib_1.__metadata("design:paramtypes", [])
177
- ], PluginMetricsCreator);
178
- //# sourceMappingURL=plugin-metrics-creator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-metrics-creator.js","sourceRoot":"","sources":["../../src/browser/plugin-metrics-creator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { ContainerModule } from '@theia/core/shared/inversify';
2
- declare const _default: ContainerModule;
3
- export default _default;
4
- //# sourceMappingURL=plugin-metrics-frontend-module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-metrics-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/plugin-metrics-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAU/D,wBAWG"}
@@ -1,37 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2019 Red Hat and others.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- const inversify_1 = require("@theia/core/shared/inversify");
19
- const plugin_metrics_languages_main_1 = require("./plugin-metrics-languages-main");
20
- const metrics_protocol_1 = require("../common/metrics-protocol");
21
- const ws_connection_provider_1 = require("@theia/core/lib/browser/messaging/ws-connection-provider");
22
- const plugin_metrics_creator_1 = require("./plugin-metrics-creator");
23
- const plugin_metrics_resolver_1 = require("./plugin-metrics-resolver");
24
- const plugin_metrics_output_registry_1 = require("./plugin-metrics-output-registry");
25
- const languages_main_1 = require("@theia/plugin-ext/lib/main/browser/languages-main");
26
- const output_channel_registry_main_1 = require("@theia/plugin-ext/lib/main/browser/output-channel-registry-main");
27
- exports.default = new inversify_1.ContainerModule((bind, unbind, isBound, rebind) => {
28
- bind(plugin_metrics_resolver_1.PluginMetricsResolver).toSelf().inSingletonScope();
29
- bind(plugin_metrics_creator_1.PluginMetricsCreator).toSelf().inSingletonScope();
30
- rebind(languages_main_1.LanguagesMainImpl).to(plugin_metrics_languages_main_1.LanguagesMainPluginMetrics).inTransientScope();
31
- rebind(output_channel_registry_main_1.OutputChannelRegistryMainImpl).to(plugin_metrics_output_registry_1.PluginMetricsOutputChannelRegistry).inTransientScope();
32
- bind(metrics_protocol_1.PluginMetrics).toDynamicValue(ctx => {
33
- const connection = ctx.container.get(ws_connection_provider_1.WebSocketConnectionProvider);
34
- return connection.createProxy(metrics_protocol_1.metricsJsonRpcPath);
35
- }).inSingletonScope();
36
- });
37
- //# sourceMappingURL=plugin-metrics-frontend-module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-metrics-frontend-module.js","sourceRoot":"","sources":["../../src/browser/plugin-metrics-frontend-module.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,gFAAgF;AAChF,gFAAgF;;AAEhF,4DAA+D;AAC/D,mFAA6E;AAC7E,iEAA+E;AAC/E,qGAAuG;AACvG,qEAAgE;AAChE,uEAAkE;AAClE,qFAAsF;AACtF,sFAAsF;AACtF,kHAAgH;AAEhH,kBAAe,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IACjE,IAAI,CAAC,+CAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxD,IAAI,CAAC,6CAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAEvD,MAAM,CAAC,kCAAiB,CAAC,CAAC,EAAE,CAAC,0DAA0B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5E,MAAM,CAAC,4DAA6B,CAAC,CAAC,EAAE,CAAC,mEAAkC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAEhG,IAAI,CAAC,gCAAa,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;QACrC,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,oDAA2B,CAAC,CAAC;QAClE,OAAO,UAAU,CAAC,WAAW,CAAgB,qCAAkB,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAC"}
@@ -1,59 +0,0 @@
1
- import { CodeActionProviderDocumentation, Range, SerializedDocumentFilter, WorkspaceSymbolParams } from '@theia/plugin-ext/lib/common/plugin-api-rpc-model';
2
- import { LanguagesMainImpl } from '@theia/plugin-ext/lib/main/browser/languages-main';
3
- import { SymbolInformation } from '@theia/core/shared/vscode-languageserver-protocol';
4
- import { PluginInfo } from '@theia/plugin-ext/lib/common/plugin-api-rpc';
5
- import * as theia from '@theia/plugin';
6
- import * as monaco from '@theia/monaco-editor-core';
7
- export declare class LanguagesMainPluginMetrics extends LanguagesMainImpl {
8
- private pluginMetricsResolver;
9
- protected readonly handleToExtensionID: Map<number, string>;
10
- $unregister(handle: number): void;
11
- protected provideCompletionItems(handle: number, model: monaco.editor.ITextModel, position: monaco.Position, context: monaco.languages.CompletionContext, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.CompletionList>;
12
- protected resolveCompletionItem(handle: number, item: monaco.languages.CompletionItem, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.CompletionItem>;
13
- protected provideReferences(handle: number, model: monaco.editor.ITextModel, position: monaco.Position, context: monaco.languages.ReferenceContext, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.Location[]>;
14
- protected provideImplementation(handle: number, model: monaco.editor.ITextModel, position: monaco.Position, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.Definition>;
15
- protected provideTypeDefinition(handle: number, model: monaco.editor.ITextModel, position: monaco.Position, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.Definition>;
16
- protected provideHover(handle: number, model: monaco.editor.ITextModel, position: monaco.Position, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.Hover>;
17
- protected provideDocumentHighlights(handle: number, model: monaco.editor.ITextModel, position: monaco.Position, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.DocumentHighlight[]>;
18
- protected provideWorkspaceSymbols(handle: number, params: WorkspaceSymbolParams, token: monaco.CancellationToken): Thenable<SymbolInformation[]>;
19
- protected resolveWorkspaceSymbol(handle: number, symbol: SymbolInformation, token: monaco.CancellationToken): Thenable<SymbolInformation>;
20
- protected provideLinks(handle: number, model: monaco.editor.ITextModel, token: monaco.CancellationToken): Promise<monaco.languages.ProviderResult<monaco.languages.ILinksList>>;
21
- protected resolveLink(handle: number, link: monaco.languages.ILink, token: monaco.CancellationToken): Promise<monaco.languages.ProviderResult<monaco.languages.ILink>>;
22
- protected provideCodeLenses(handle: number, model: monaco.editor.ITextModel, token: monaco.CancellationToken): Promise<monaco.languages.ProviderResult<monaco.languages.CodeLensList>>;
23
- protected resolveCodeLens(handle: number, model: monaco.editor.ITextModel, codeLens: monaco.languages.CodeLens, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.CodeLens>;
24
- protected provideDocumentSymbols(handle: number, model: monaco.editor.ITextModel, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.DocumentSymbol[]>;
25
- protected provideDefinition(handle: number, model: monaco.editor.ITextModel, position: monaco.Position, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.Definition>;
26
- protected provideSignatureHelp(handle: number, model: monaco.editor.ITextModel, position: monaco.Position, token: monaco.CancellationToken, context: monaco.languages.SignatureHelpContext): Promise<monaco.languages.ProviderResult<monaco.languages.SignatureHelpResult>>;
27
- protected provideDocumentFormattingEdits(handle: number, model: monaco.editor.ITextModel, options: monaco.languages.FormattingOptions, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.TextEdit[]>;
28
- protected provideDocumentRangeFormattingEdits(handle: number, model: monaco.editor.ITextModel, range: Range, options: monaco.languages.FormattingOptions, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.TextEdit[]>;
29
- protected provideOnTypeFormattingEdits(handle: number, model: monaco.editor.ITextModel, position: monaco.Position, ch: string, options: monaco.languages.FormattingOptions, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.TextEdit[]>;
30
- protected provideFoldingRanges(handle: number, model: monaco.editor.ITextModel, context: monaco.languages.FoldingContext, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.FoldingRange[]>;
31
- protected provideDocumentColors(handle: number, model: monaco.editor.ITextModel, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.IColorInformation[]>;
32
- protected provideColorPresentations(handle: number, model: monaco.editor.ITextModel, colorInfo: monaco.languages.IColorInformation, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.IColorPresentation[]>;
33
- protected provideCodeActions(handle: number, model: monaco.editor.ITextModel, rangeOrSelection: Range, context: monaco.languages.CodeActionContext, token: monaco.CancellationToken): Promise<monaco.languages.CodeActionList | monaco.languages.CodeActionList>;
34
- protected provideRenameEdits(handle: number, model: monaco.editor.ITextModel, position: monaco.Position, newName: string, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.WorkspaceEdit & monaco.languages.Rejection>;
35
- protected resolveRenameLocation(handle: number, model: monaco.editor.ITextModel, position: monaco.Position, token: monaco.CancellationToken): monaco.languages.ProviderResult<monaco.languages.RenameLocation>;
36
- $registerCompletionSupport(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[], triggerCharacters: string[], supportsResolveDetails: boolean): void;
37
- $registerDefinitionProvider(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[]): void;
38
- $registerDeclarationProvider(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[]): void;
39
- $registerReferenceProvider(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[]): void;
40
- $registerSignatureHelpProvider(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[], metadata: theia.SignatureHelpProviderMetadata): void;
41
- $registerImplementationProvider(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[]): void;
42
- $registerTypeDefinitionProvider(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[]): void;
43
- $registerHoverProvider(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[]): void;
44
- $registerDocumentHighlightProvider(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[]): void;
45
- $registerWorkspaceSymbolProvider(handle: number, pluginInfo: PluginInfo): void;
46
- $registerDocumentLinkProvider(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[]): void;
47
- $registerCodeLensSupport(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[], eventHandle: number): void;
48
- $registerOutlineSupport(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[], displayName?: string): void;
49
- $registerDocumentFormattingSupport(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[]): void;
50
- $registerRangeFormattingSupport(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[]): void;
51
- $registerOnTypeFormattingProvider(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[], autoFormatTriggerCharacters: string[]): void;
52
- $registerFoldingRangeProvider(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[], eventHandle: number): void;
53
- $registerDocumentColorProvider(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[]): void;
54
- $registerQuickFixProvider(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[], codeActionKinds?: string[], documentation?: CodeActionProviderDocumentation): void;
55
- $registerRenameProvider(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[], supportsResolveLocation: boolean): void;
56
- private registerPluginWithFeatureHandle;
57
- private handleToExtensionName;
58
- }
59
- //# sourceMappingURL=plugin-metrics-languages-main.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-metrics-languages-main.d.ts","sourceRoot":"","sources":["../../src/browser/plugin-metrics-languages-main.ts"],"names":[],"mappings":"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"}