@opensumi/ide-task 2.12.1-next-079c1930

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 (65) hide show
  1. package/lib/browser/index.d.ts +6 -0
  2. package/lib/browser/index.d.ts.map +1 -0
  3. package/lib/browser/index.js +41 -0
  4. package/lib/browser/index.js.map +1 -0
  5. package/lib/browser/parser.d.ts +316 -0
  6. package/lib/browser/parser.d.ts.map +1 -0
  7. package/lib/browser/parser.js +481 -0
  8. package/lib/browser/parser.js.map +1 -0
  9. package/lib/browser/problem-collector.d.ts +27 -0
  10. package/lib/browser/problem-collector.d.ts.map +1 -0
  11. package/lib/browser/problem-collector.js +61 -0
  12. package/lib/browser/problem-collector.js.map +1 -0
  13. package/lib/browser/problem-line-matcher.d.ts +92 -0
  14. package/lib/browser/problem-line-matcher.d.ts.map +1 -0
  15. package/lib/browser/problem-line-matcher.js +378 -0
  16. package/lib/browser/problem-line-matcher.js.map +1 -0
  17. package/lib/browser/task-config.d.ts +385 -0
  18. package/lib/browser/task-config.d.ts.map +1 -0
  19. package/lib/browser/task-config.js +1427 -0
  20. package/lib/browser/task-config.js.map +1 -0
  21. package/lib/browser/task-preferences.contribution.d.ts +6 -0
  22. package/lib/browser/task-preferences.contribution.d.ts.map +1 -0
  23. package/lib/browser/task-preferences.contribution.js +17 -0
  24. package/lib/browser/task-preferences.contribution.js.map +1 -0
  25. package/lib/browser/task-preferences.d.ts +3 -0
  26. package/lib/browser/task-preferences.d.ts.map +1 -0
  27. package/lib/browser/task-preferences.js +15 -0
  28. package/lib/browser/task-preferences.js.map +1 -0
  29. package/lib/browser/task-preferences.provider.d.ts +6 -0
  30. package/lib/browser/task-preferences.provider.d.ts.map +1 -0
  31. package/lib/browser/task-preferences.provider.js +29 -0
  32. package/lib/browser/task-preferences.provider.js.map +1 -0
  33. package/lib/browser/task.contribution.d.ts +8 -0
  34. package/lib/browser/task.contribution.d.ts.map +1 -0
  35. package/lib/browser/task.contribution.js +35 -0
  36. package/lib/browser/task.contribution.js.map +1 -0
  37. package/lib/browser/task.schema.d.ts +4 -0
  38. package/lib/browser/task.schema.d.ts.map +1 -0
  39. package/lib/browser/task.schema.js +294 -0
  40. package/lib/browser/task.schema.js.map +1 -0
  41. package/lib/browser/task.service.d.ts +43 -0
  42. package/lib/browser/task.service.d.ts.map +1 -0
  43. package/lib/browser/task.service.js +354 -0
  44. package/lib/browser/task.service.js.map +1 -0
  45. package/lib/browser/terminal-task-system.d.ts +80 -0
  46. package/lib/browser/terminal-task-system.d.ts.map +1 -0
  47. package/lib/browser/terminal-task-system.js +391 -0
  48. package/lib/browser/terminal-task-system.js.map +1 -0
  49. package/lib/common/index.d.ts +130 -0
  50. package/lib/common/index.d.ts.map +1 -0
  51. package/lib/common/index.js +7 -0
  52. package/lib/common/index.js.map +1 -0
  53. package/lib/common/task.d.ts +572 -0
  54. package/lib/common/task.d.ts.map +1 -0
  55. package/lib/common/task.js +523 -0
  56. package/lib/common/task.js.map +1 -0
  57. package/lib/index.d.ts +3 -0
  58. package/lib/index.d.ts.map +1 -0
  59. package/lib/index.js +6 -0
  60. package/lib/index.js.map +1 -0
  61. package/lib/node/index.d.ts +6 -0
  62. package/lib/node/index.d.ts.map +1 -0
  63. package/lib/node/index.js +17 -0
  64. package/lib/node/index.js.map +1 -0
  65. package/package.json +33 -0
@@ -0,0 +1,481 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ProblemMatcherParser = exports.ProblemPatternParser = exports.Config = exports.Parser = exports.ValidationStatus = void 0;
8
+ const ide_core_common_1 = require("@opensumi/ide-core-common");
9
+ class ValidationStatus {
10
+ constructor() {
11
+ this._state = 0 /* OK */;
12
+ }
13
+ get state() {
14
+ return this._state;
15
+ }
16
+ set state(value) {
17
+ if (value > this._state) {
18
+ this._state = value;
19
+ }
20
+ }
21
+ isOK() {
22
+ return this._state === 0 /* OK */;
23
+ }
24
+ isFatal() {
25
+ return this._state === 4 /* Fatal */;
26
+ }
27
+ }
28
+ exports.ValidationStatus = ValidationStatus;
29
+ class Parser {
30
+ constructor(problemReporter) {
31
+ this._problemReporter = problemReporter;
32
+ }
33
+ reset() {
34
+ this._problemReporter.status.state = 0 /* OK */;
35
+ }
36
+ get problemReporter() {
37
+ return this._problemReporter;
38
+ }
39
+ info(message) {
40
+ this._problemReporter.info(message);
41
+ }
42
+ warn(message) {
43
+ this._problemReporter.warn(message);
44
+ }
45
+ error(message) {
46
+ this._problemReporter.error(message);
47
+ }
48
+ fatal(message) {
49
+ this._problemReporter.fatal(message);
50
+ }
51
+ }
52
+ exports.Parser = Parser;
53
+ var Config;
54
+ (function (Config) {
55
+ let CheckedProblemPattern;
56
+ (function (CheckedProblemPattern) {
57
+ function is(value) {
58
+ const candidate = value;
59
+ return candidate && (0, ide_core_common_1.isString)(candidate.regexp);
60
+ }
61
+ CheckedProblemPattern.is = is;
62
+ })(CheckedProblemPattern = Config.CheckedProblemPattern || (Config.CheckedProblemPattern = {}));
63
+ let NamedProblemPattern;
64
+ (function (NamedProblemPattern) {
65
+ function is(value) {
66
+ const candidate = value;
67
+ return candidate && (0, ide_core_common_1.isString)(candidate.name);
68
+ }
69
+ NamedProblemPattern.is = is;
70
+ })(NamedProblemPattern = Config.NamedProblemPattern || (Config.NamedProblemPattern = {}));
71
+ let NamedCheckedProblemPattern;
72
+ (function (NamedCheckedProblemPattern) {
73
+ function is(value) {
74
+ const candidate = value;
75
+ return candidate && NamedProblemPattern.is(candidate) && (0, ide_core_common_1.isString)(candidate.regexp);
76
+ }
77
+ NamedCheckedProblemPattern.is = is;
78
+ })(NamedCheckedProblemPattern = Config.NamedCheckedProblemPattern || (Config.NamedCheckedProblemPattern = {}));
79
+ let MultiLineProblemPattern;
80
+ (function (MultiLineProblemPattern) {
81
+ function is(value) {
82
+ return value && (0, ide_core_common_1.isArray)(value);
83
+ }
84
+ MultiLineProblemPattern.is = is;
85
+ })(MultiLineProblemPattern = Config.MultiLineProblemPattern || (Config.MultiLineProblemPattern = {}));
86
+ let MultiLineCheckedProblemPattern;
87
+ (function (MultiLineCheckedProblemPattern) {
88
+ function is(value) {
89
+ if (!MultiLineProblemPattern.is(value)) {
90
+ return false;
91
+ }
92
+ for (const element of value) {
93
+ if (!Config.CheckedProblemPattern.is(element)) {
94
+ return false;
95
+ }
96
+ }
97
+ return true;
98
+ }
99
+ MultiLineCheckedProblemPattern.is = is;
100
+ })(MultiLineCheckedProblemPattern = Config.MultiLineCheckedProblemPattern || (Config.MultiLineCheckedProblemPattern = {}));
101
+ let NamedMultiLineCheckedProblemPattern;
102
+ (function (NamedMultiLineCheckedProblemPattern) {
103
+ function is(value) {
104
+ const candidate = value;
105
+ return candidate && (0, ide_core_common_1.isString)(candidate.name) && (0, ide_core_common_1.isArray)(candidate.patterns) && MultiLineCheckedProblemPattern.is(candidate.patterns);
106
+ }
107
+ NamedMultiLineCheckedProblemPattern.is = is;
108
+ })(NamedMultiLineCheckedProblemPattern = Config.NamedMultiLineCheckedProblemPattern || (Config.NamedMultiLineCheckedProblemPattern = {}));
109
+ function isNamedProblemMatcher(value) {
110
+ return (0, ide_core_common_1.isString)(value.name);
111
+ }
112
+ Config.isNamedProblemMatcher = isNamedProblemMatcher;
113
+ })(Config = exports.Config || (exports.Config = {}));
114
+ class ProblemPatternParser extends Parser {
115
+ constructor(logger) {
116
+ super(logger);
117
+ }
118
+ parse(value) {
119
+ if (Config.NamedMultiLineCheckedProblemPattern.is(value)) {
120
+ return this.createNamedMultiLineProblemPattern(value);
121
+ }
122
+ else if (Config.MultiLineCheckedProblemPattern.is(value)) {
123
+ return this.createMultiLineProblemPattern(value);
124
+ }
125
+ else if (Config.NamedCheckedProblemPattern.is(value)) {
126
+ const result = this.createSingleProblemPattern(value);
127
+ result.name = value.name;
128
+ return result;
129
+ }
130
+ else if (Config.CheckedProblemPattern.is(value)) {
131
+ return this.createSingleProblemPattern(value);
132
+ }
133
+ else {
134
+ this.error((0, ide_core_common_1.localize)('ProblemPatternParser.problemPattern.missingRegExp', 'The problem pattern is missing a regular expression.'));
135
+ return null;
136
+ }
137
+ }
138
+ createSingleProblemPattern(value) {
139
+ const result = this.doCreateSingleProblemPattern(value, true);
140
+ if (result === undefined) {
141
+ return null;
142
+ }
143
+ else if (result.kind === undefined) {
144
+ result.kind = ide_core_common_1.ProblemLocationKind.Location;
145
+ }
146
+ return this.validateProblemPattern([result]) ? result : null;
147
+ }
148
+ createNamedMultiLineProblemPattern(value) {
149
+ const validPatterns = this.createMultiLineProblemPattern(value.patterns);
150
+ if (!validPatterns) {
151
+ return null;
152
+ }
153
+ const result = {
154
+ name: value.name,
155
+ label: value.label ? value.label : value.name,
156
+ patterns: validPatterns,
157
+ };
158
+ return result;
159
+ }
160
+ createMultiLineProblemPattern(values) {
161
+ const result = [];
162
+ for (let i = 0; i < values.length; i++) {
163
+ const pattern = this.doCreateSingleProblemPattern(values[i], false);
164
+ if (pattern === undefined) {
165
+ return null;
166
+ }
167
+ if (i < values.length - 1) {
168
+ if (!(0, ide_core_common_1.isUndefined)(pattern.loop) && pattern.loop) {
169
+ pattern.loop = false;
170
+ this.error((0, ide_core_common_1.localize)('ProblemPatternParser.loopProperty.notLast', 'The loop property is only supported on the last line matcher.'));
171
+ }
172
+ }
173
+ result.push(pattern);
174
+ }
175
+ if (result[0].kind === undefined) {
176
+ result[0].kind = ide_core_common_1.ProblemLocationKind.Location;
177
+ }
178
+ return this.validateProblemPattern(result) ? result : null;
179
+ }
180
+ doCreateSingleProblemPattern(value, setDefaults) {
181
+ const regexp = this.createRegularExpression(value.regexp);
182
+ if (regexp === undefined) {
183
+ return undefined;
184
+ }
185
+ let result = { regexp };
186
+ if (value.kind) {
187
+ result.kind = ide_core_common_1.ProblemLocationKind.fromString(value.kind);
188
+ }
189
+ function copyProperty(result, source, resultKey, sourceKey) {
190
+ const value = source[sourceKey];
191
+ if (typeof value === 'number') {
192
+ result[resultKey] = value;
193
+ }
194
+ }
195
+ copyProperty(result, value, 'file', 'file');
196
+ copyProperty(result, value, 'location', 'location');
197
+ copyProperty(result, value, 'line', 'line');
198
+ copyProperty(result, value, 'character', 'column');
199
+ copyProperty(result, value, 'endLine', 'endLine');
200
+ copyProperty(result, value, 'endCharacter', 'endColumn');
201
+ copyProperty(result, value, 'severity', 'severity');
202
+ copyProperty(result, value, 'code', 'code');
203
+ copyProperty(result, value, 'message', 'message');
204
+ if (value.loop === true || value.loop === false) {
205
+ result.loop = value.loop;
206
+ }
207
+ if (setDefaults) {
208
+ if (result.location || result.kind === ide_core_common_1.ProblemLocationKind.File) {
209
+ const defaultValue = {
210
+ file: 1,
211
+ message: 0,
212
+ };
213
+ result = (0, ide_core_common_1.mixin)(result, defaultValue, false);
214
+ }
215
+ else {
216
+ const defaultValue = {
217
+ file: 1,
218
+ line: 2,
219
+ character: 3,
220
+ message: 0,
221
+ };
222
+ result = (0, ide_core_common_1.mixin)(result, defaultValue, false);
223
+ }
224
+ }
225
+ return result;
226
+ }
227
+ validateProblemPattern(values) {
228
+ // tslint:disable-next-line: one-variable-per-declaration
229
+ let file = false, message = false, location = false, line = false;
230
+ const locationKind = (values[0].kind === undefined) ? ide_core_common_1.ProblemLocationKind.Location : values[0].kind;
231
+ values.forEach((pattern, i) => {
232
+ if (i !== 0 && pattern.kind) {
233
+ this.error((0, ide_core_common_1.localize)('ProblemPatternParser.problemPattern.kindProperty.notFirst', 'The problem pattern is invalid. The kind property must be provided only in the first element'));
234
+ }
235
+ file = file || !(0, ide_core_common_1.isUndefined)(pattern.file);
236
+ message = message || !(0, ide_core_common_1.isUndefined)(pattern.message);
237
+ location = location || !(0, ide_core_common_1.isUndefined)(pattern.location);
238
+ line = line || !(0, ide_core_common_1.isUndefined)(pattern.line);
239
+ });
240
+ if (!(file && message)) {
241
+ this.error((0, ide_core_common_1.localize)('ProblemPatternParser.problemPattern.missingProperty', 'The problem pattern is invalid. It must have at least have a file and a message.'));
242
+ return false;
243
+ }
244
+ if (locationKind === ide_core_common_1.ProblemLocationKind.Location && !(location || line)) {
245
+ this.error((0, ide_core_common_1.localize)('ProblemPatternParser.problemPattern.missingLocation', 'The problem pattern is invalid. It must either have kind: "file" or have a line or location match group.'));
246
+ return false;
247
+ }
248
+ return true;
249
+ }
250
+ createRegularExpression(value) {
251
+ let result;
252
+ try {
253
+ result = new RegExp(value);
254
+ }
255
+ catch (err) {
256
+ this.error((0, ide_core_common_1.localize)('ProblemPatternParser.invalidRegexp', 'Error: The string {0} is not a valid regular expression.\n', value));
257
+ }
258
+ return result;
259
+ }
260
+ }
261
+ exports.ProblemPatternParser = ProblemPatternParser;
262
+ class ProblemMatcherParser extends Parser {
263
+ constructor(logger) {
264
+ super(logger);
265
+ }
266
+ parse(json, getProblemPattern, getProblemMatcher) {
267
+ const result = this.createProblemMatcher(json, getProblemPattern, getProblemMatcher);
268
+ if (!this.checkProblemMatcherValid(json, result)) {
269
+ return undefined;
270
+ }
271
+ this.addWatchingMatcher(json, result);
272
+ return result;
273
+ }
274
+ checkProblemMatcherValid(externalProblemMatcher, problemMatcher) {
275
+ if (!problemMatcher) {
276
+ this.error((0, ide_core_common_1.localize)('ProblemMatcherParser.noProblemMatcher', 'Error: the description can\'t be converted into a problem matcher:\n{0}\n', JSON.stringify(externalProblemMatcher, null, 4)));
277
+ return false;
278
+ }
279
+ if (!problemMatcher.pattern) {
280
+ this.error((0, ide_core_common_1.localize)('ProblemMatcherParser.noProblemPattern', 'Error: the description doesn\'t define a valid problem pattern:\n{0}\n', JSON.stringify(externalProblemMatcher, null, 4)));
281
+ return false;
282
+ }
283
+ if (!problemMatcher.owner) {
284
+ this.error((0, ide_core_common_1.localize)('ProblemMatcherParser.noOwner', 'Error: the description doesn\'t define an owner:\n{0}\n', JSON.stringify(externalProblemMatcher, null, 4)));
285
+ return false;
286
+ }
287
+ if ((0, ide_core_common_1.isUndefined)(problemMatcher.fileLocation)) {
288
+ this.error((0, ide_core_common_1.localize)('ProblemMatcherParser.noFileLocation', 'Error: the description doesn\'t define a file location:\n{0}\n', JSON.stringify(externalProblemMatcher, null, 4)));
289
+ return false;
290
+ }
291
+ return true;
292
+ }
293
+ createProblemMatcher(description, getProblemPattern, getProblemMatcher) {
294
+ let result = null;
295
+ const owner = (0, ide_core_common_1.isString)(description.owner) ? description.owner : (0, ide_core_common_1.uuid)();
296
+ const source = (0, ide_core_common_1.isString)(description.source) ? description.source : undefined;
297
+ let applyTo = (0, ide_core_common_1.isString)(description.applyTo) ? ide_core_common_1.ApplyToKind.fromString(description.applyTo) : ide_core_common_1.ApplyToKind.allDocuments;
298
+ if (!applyTo) {
299
+ applyTo = ide_core_common_1.ApplyToKind.allDocuments;
300
+ }
301
+ let fileLocation;
302
+ let filePrefix;
303
+ let kind;
304
+ if ((0, ide_core_common_1.isUndefined)(description.fileLocation)) {
305
+ fileLocation = ide_core_common_1.FileLocationKind.Relative;
306
+ filePrefix = '${workspaceFolder}';
307
+ }
308
+ else if ((0, ide_core_common_1.isString)(description.fileLocation)) {
309
+ kind = ide_core_common_1.FileLocationKind.fromString(description.fileLocation);
310
+ if (kind) {
311
+ fileLocation = kind;
312
+ if ((kind === ide_core_common_1.FileLocationKind.Relative) || (kind === ide_core_common_1.FileLocationKind.AutoDetect)) {
313
+ filePrefix = '${workspaceFolder}';
314
+ }
315
+ }
316
+ }
317
+ else if ((0, ide_core_common_1.isStringArray)(description.fileLocation)) {
318
+ const values = description.fileLocation;
319
+ if (values.length > 0) {
320
+ kind = ide_core_common_1.FileLocationKind.fromString(values[0]);
321
+ if (values.length === 1 && kind === ide_core_common_1.FileLocationKind.Absolute) {
322
+ fileLocation = kind;
323
+ }
324
+ else if (values.length === 2 && (kind === ide_core_common_1.FileLocationKind.Relative || kind === ide_core_common_1.FileLocationKind.AutoDetect) && values[1]) {
325
+ fileLocation = kind;
326
+ filePrefix = values[1];
327
+ }
328
+ }
329
+ }
330
+ const pattern = description.pattern ? this.createProblemPattern(description.pattern, getProblemPattern) : undefined;
331
+ let severity = description.severity ? ide_core_common_1.Severity.fromValue(description.severity) : undefined;
332
+ if (severity === ide_core_common_1.Severity.Ignore) {
333
+ this.info((0, ide_core_common_1.localize)('ProblemMatcherParser.unknownSeverity', 'Info: unknown severity {0}. Valid values are error, warning and info.\n', description.severity));
334
+ severity = ide_core_common_1.Severity.Error;
335
+ }
336
+ if ((0, ide_core_common_1.isString)(description.base)) {
337
+ const variableName = description.base;
338
+ if (variableName.length > 1 && variableName[0] === '$') {
339
+ const base = getProblemMatcher(variableName.substring(1));
340
+ if (base) {
341
+ result = (0, ide_core_common_1.deepClone)(base);
342
+ if (description.owner !== undefined && owner !== undefined) {
343
+ result.owner = owner;
344
+ }
345
+ if (description.source !== undefined && source !== undefined) {
346
+ result.source = source;
347
+ }
348
+ if (description.fileLocation !== undefined && fileLocation !== undefined) {
349
+ result.fileLocation = fileLocation;
350
+ result.filePrefix = filePrefix;
351
+ }
352
+ if (description.pattern !== undefined && pattern !== undefined && pattern !== null) {
353
+ result.pattern = pattern;
354
+ }
355
+ if (description.severity !== undefined && severity !== undefined) {
356
+ result.severity = severity;
357
+ }
358
+ if (description.applyTo !== undefined && applyTo !== undefined) {
359
+ result.applyTo = applyTo;
360
+ }
361
+ }
362
+ }
363
+ }
364
+ else if (fileLocation && pattern) {
365
+ result = {
366
+ owner,
367
+ applyTo,
368
+ fileLocation,
369
+ pattern,
370
+ };
371
+ if (source) {
372
+ result.source = source;
373
+ }
374
+ if (filePrefix) {
375
+ result.filePrefix = filePrefix;
376
+ }
377
+ if (severity) {
378
+ result.severity = severity;
379
+ }
380
+ }
381
+ if (Config.isNamedProblemMatcher(description)) {
382
+ result.name = description.name;
383
+ result.label = (0, ide_core_common_1.isString)(description.label) ? description.label : description.name;
384
+ }
385
+ return result;
386
+ }
387
+ createProblemPattern(value, getProblemPattern) {
388
+ if ((0, ide_core_common_1.isString)(value)) {
389
+ const variableName = value;
390
+ if (variableName.length > 1 && variableName[0] === '$') {
391
+ const result = getProblemPattern(variableName.substring(1));
392
+ if (!result) {
393
+ this.error((0, ide_core_common_1.localize)('ProblemMatcherParser.noDefinedPatter', 'Error: the pattern with the identifier {0} doesn\'t exist.', variableName));
394
+ }
395
+ return result;
396
+ }
397
+ else {
398
+ if (variableName.length === 0) {
399
+ this.error((0, ide_core_common_1.localize)('ProblemMatcherParser.noIdentifier', 'Error: the pattern property refers to an empty identifier.'));
400
+ }
401
+ else {
402
+ this.error((0, ide_core_common_1.localize)('ProblemMatcherParser.noValidIdentifier', 'Error: the pattern property {0} is not a valid pattern variable name.', variableName));
403
+ }
404
+ }
405
+ }
406
+ else if (value) {
407
+ const problemPatternParser = new ProblemPatternParser(this.problemReporter);
408
+ if (Array.isArray(value)) {
409
+ return problemPatternParser.parse(value);
410
+ }
411
+ else {
412
+ return problemPatternParser.parse(value);
413
+ }
414
+ }
415
+ return undefined;
416
+ }
417
+ addWatchingMatcher(external, internal) {
418
+ const oldBegins = this.createRegularExpression(external.watchedTaskBeginsRegExp);
419
+ const oldEnds = this.createRegularExpression(external.watchedTaskEndsRegExp);
420
+ if (oldBegins && oldEnds) {
421
+ internal.watching = {
422
+ activeOnStart: false,
423
+ beginsPattern: { regexp: oldBegins },
424
+ endsPattern: { regexp: oldEnds },
425
+ };
426
+ return;
427
+ }
428
+ const backgroundMonitor = external.background || external.watching;
429
+ if ((0, ide_core_common_1.isUndefinedOrNull)(backgroundMonitor)) {
430
+ return;
431
+ }
432
+ const begins = this.createWatchingPattern(backgroundMonitor.beginsPattern);
433
+ const ends = this.createWatchingPattern(backgroundMonitor.endsPattern);
434
+ if (begins && ends) {
435
+ internal.watching = {
436
+ activeOnStart: (0, ide_core_common_1.isBoolean)(backgroundMonitor.activeOnStart) ? backgroundMonitor.activeOnStart : false,
437
+ beginsPattern: begins,
438
+ endsPattern: ends,
439
+ };
440
+ return;
441
+ }
442
+ if (begins || ends) {
443
+ this.error((0, ide_core_common_1.localize)('ProblemMatcherParser.problemPattern.watchingMatcher', 'A problem matcher must define both a begin pattern and an end pattern for watching.'));
444
+ }
445
+ }
446
+ createWatchingPattern(external) {
447
+ if ((0, ide_core_common_1.isUndefinedOrNull)(external)) {
448
+ return null;
449
+ }
450
+ let regexp;
451
+ let file;
452
+ if ((0, ide_core_common_1.isString)(external)) {
453
+ regexp = this.createRegularExpression(external);
454
+ }
455
+ else {
456
+ regexp = this.createRegularExpression(external.regexp);
457
+ if ((0, ide_core_common_1.isNumber)(external.file)) {
458
+ file = external.file;
459
+ }
460
+ }
461
+ if (!regexp) {
462
+ return null;
463
+ }
464
+ return file ? { regexp, file } : { regexp, file: 1 };
465
+ }
466
+ createRegularExpression(value) {
467
+ let result = null;
468
+ if (!value) {
469
+ return result;
470
+ }
471
+ try {
472
+ result = new RegExp(value);
473
+ }
474
+ catch (err) {
475
+ this.error((0, ide_core_common_1.localize)('ProblemMatcherParser.invalidRegexp', 'Error: The string {0} is not a valid regular expression.\n', value));
476
+ }
477
+ return result;
478
+ }
479
+ }
480
+ exports.ProblemMatcherParser = ProblemMatcherParser;
481
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/browser/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /********************************************************************************
2
+ * Copyright (C) 2019 Ericsson and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { ProblemMatcher, ProblemMatch } from '@opensumi/ide-core-common';
17
+ export declare function isWatchModeWatcher(matcher: ProblemMatcher): boolean;
18
+ export declare class ProblemCollector {
19
+ problemMatchers: ProblemMatcher[];
20
+ private lineMatchers;
21
+ constructor(problemMatchers: ProblemMatcher[]);
22
+ processLine(line: string): ProblemMatch[];
23
+ isTaskActiveOnStart(): boolean;
24
+ matchBeginMatcher(line: string): boolean;
25
+ matchEndMatcher(line: string): boolean;
26
+ }
27
+ //# sourceMappingURL=problem-collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"problem-collector.d.ts","sourceRoot":"","sources":["../../src/browser/problem-collector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAEnE;AAED,qBAAa,gBAAgB;IAKlB,eAAe,EAAE,cAAc,EAAE;IAH1C,OAAO,CAAC,YAAY,CAA6B;gBAGxC,eAAe,EAAE,cAAc,EAAE;IAW1C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE;IAWzC,mBAAmB,IAAI,OAAO;IAK9B,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKxC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAIvC"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (C) 2019 Ericsson 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 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ProblemCollector = exports.isWatchModeWatcher = void 0;
19
+ const problem_line_matcher_1 = require("./problem-line-matcher");
20
+ function isWatchModeWatcher(matcher) {
21
+ return !!matcher.watching;
22
+ }
23
+ exports.isWatchModeWatcher = isWatchModeWatcher;
24
+ class ProblemCollector {
25
+ constructor(problemMatchers) {
26
+ this.problemMatchers = problemMatchers;
27
+ this.lineMatchers = [];
28
+ for (const matcher of problemMatchers) {
29
+ if (isWatchModeWatcher(matcher)) {
30
+ this.lineMatchers.push(new problem_line_matcher_1.WatchModeLineMatcher(matcher));
31
+ }
32
+ else {
33
+ this.lineMatchers.push(new problem_line_matcher_1.StartStopLineMatcher(matcher));
34
+ }
35
+ }
36
+ }
37
+ processLine(line) {
38
+ const markers = [];
39
+ this.lineMatchers.forEach((lineMatcher) => {
40
+ const match = lineMatcher.match(line);
41
+ if (match) {
42
+ markers.push(match);
43
+ }
44
+ });
45
+ return markers;
46
+ }
47
+ isTaskActiveOnStart() {
48
+ const activeOnStart = this.lineMatchers.some((lineMatcher) => (lineMatcher instanceof problem_line_matcher_1.WatchModeLineMatcher) && lineMatcher.activeOnStart);
49
+ return activeOnStart;
50
+ }
51
+ matchBeginMatcher(line) {
52
+ const match = this.lineMatchers.some((lineMatcher) => (lineMatcher instanceof problem_line_matcher_1.WatchModeLineMatcher) && lineMatcher.matchBegin(line));
53
+ return match;
54
+ }
55
+ matchEndMatcher(line) {
56
+ const match = this.lineMatchers.some((lineMatcher) => (lineMatcher instanceof problem_line_matcher_1.WatchModeLineMatcher) && lineMatcher.matchEnd(line));
57
+ return match;
58
+ }
59
+ }
60
+ exports.ProblemCollector = ProblemCollector;
61
+ //# sourceMappingURL=problem-collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"problem-collector.js","sourceRoot":"","sources":["../../src/browser/problem-collector.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,iEAAyG;AAGzG,SAAgB,kBAAkB,CAAC,OAAuB;IACxD,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC5B,CAAC;AAFD,gDAEC;AAED,MAAa,gBAAgB;IAI3B,YACS,eAAiC;QAAjC,oBAAe,GAAf,eAAe,CAAkB;QAHlC,iBAAY,GAA0B,EAAE,CAAC;QAK/C,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE;YACrC,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE;gBAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,2CAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;aAC3D;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,2CAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;aAC3D;SACF;IACH,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,mBAAmB;QACjB,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,YAAY,2CAAoB,CAAC,IAAI,WAAW,CAAC,aAAa,CAAC,CAAC;QAC1I,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,iBAAiB,CAAC,IAAY;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,YAAY,2CAAoB,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACrI,OAAO,KAAK,CAAC;IACf,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,YAAY,2CAAoB,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACnI,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAzCD,4CAyCC"}