@codingame/monaco-vscode-task-service-override 29.1.1 → 30.0.0

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.
@@ -170,10 +170,11 @@ class TerminalTaskSystem extends Disposable {
170
170
  this._hasReconnected = false;
171
171
  this._terminalTabActions = [{
172
172
  id: RerunForActiveTerminalCommandId,
173
- label: ( localize(13020, "Rerun Task")),
173
+ label: ( localize(13085, "Rerun Task")),
174
174
  icon: rerunTaskIcon
175
175
  }];
176
176
  this._taskStartTimes = ( new Map());
177
+ this._capturedTaskVariables = ( new Map());
177
178
  this._activeTasks = Object.create(null);
178
179
  this._busyTasks = Object.create(null);
179
180
  this._taskErrors = Object.create(null);
@@ -249,7 +250,7 @@ class TerminalTaskSystem extends Disposable {
249
250
  } else {
250
251
  this._log(( error.toString()));
251
252
  throw ( new TaskError(Severity.Error, ( localize(
252
- 13021,
253
+ 13086,
253
254
  "A unknown error has occurred while executing a task. See task output log for details."
254
255
  )), TaskErrors.UnknownError));
255
256
  }
@@ -297,7 +298,7 @@ class TerminalTaskSystem extends Disposable {
297
298
  });
298
299
  const openOutput = "Show Output";
299
300
  this._notificationService.prompt(Severity.Warning, ( localize(
300
- 13022,
301
+ 13087,
301
302
  "There are issues with task \"{0}\". See the output for more details.",
302
303
  task._label
303
304
  )), [{
@@ -465,7 +466,7 @@ class TerminalTaskSystem extends Disposable {
465
466
  return Promise.all(promises);
466
467
  }
467
468
  _showDependencyCycleMessage(task) {
468
- this._log(( localize(13023, "There is a dependency cycle. See task \"{0}\".", task._label)));
469
+ this._log(( localize(13088, "There is a dependency cycle. See task \"{0}\".", task._label)));
469
470
  this._showOutput();
470
471
  }
471
472
  _executeTask(
@@ -528,7 +529,7 @@ class TerminalTaskSystem extends Disposable {
528
529
  }
529
530
  } else {
530
531
  this._log(( localize(
531
- 13024,
532
+ 13089,
532
533
  "Couldn't resolve dependent task '{0}' in workspace folder '{1}'",
533
534
  isString(dependency.task) ? dependency.task : JSON.stringify(dependency.task, undefined, 0),
534
535
  (dependency.uri.toString())
@@ -882,7 +883,7 @@ class TerminalTaskSystem extends Disposable {
882
883
  ));
883
884
  if ((problemMatchers.length > 0) && !watchingProblemMatcher.isWatching()) {
884
885
  this._appendOutput(( localize(
885
- 13025,
886
+ 13090,
886
887
  "Task {0} is a background task but uses a problem matcher without a background pattern",
887
888
  task._label
888
889
  )));
@@ -901,6 +902,9 @@ class TerminalTaskSystem extends Disposable {
901
902
  if (this._busyTasks[mapKey]) {
902
903
  delete this._busyTasks[mapKey];
903
904
  }
905
+ if (event.capturedVariables) {
906
+ this._registerCapturedVariables(event.capturedVariables);
907
+ }
904
908
  this._fireTaskEvent(
905
909
  TaskEvent.inactive(task, terminal?.instanceId, this._takeTaskDuration(terminal?.instanceId))
906
910
  );
@@ -1175,6 +1179,14 @@ class TerminalTaskSystem extends Disposable {
1175
1179
  this._taskStartTimes.delete(terminalId);
1176
1180
  return Date.now() - startTime;
1177
1181
  }
1182
+ _registerCapturedVariables(capturedVariables) {
1183
+ for (const [name, value] of capturedVariables) {
1184
+ this._capturedTaskVariables.set(name, value);
1185
+ if (!( this._configurationResolverService.resolvableVariables.has(`taskVar:${name}`))) {
1186
+ this._configurationResolverService.contributeVariable(`taskVar:${name}`, async () => this._capturedTaskVariables.get(name));
1187
+ }
1188
+ }
1189
+ }
1178
1190
  _createTerminalName(task) {
1179
1191
  const needsFolderQualification = this._contextService.getWorkbenchState() === WorkbenchState.WORKSPACE;
1180
1192
  return needsFolderQualification ? task.getQualifiedLabel() : (task.configurationProperties.name || "");
@@ -1314,11 +1326,11 @@ class TerminalTaskSystem extends Disposable {
1314
1326
  if (task.command.presentation && task.command.presentation.echo) {
1315
1327
  if (needsFolderQualification && workspaceFolder) {
1316
1328
  const folder = cwd && typeof cwd === "object" && Object.hasOwn(cwd, "path") ? basename(cwd.path) : workspaceFolder.name;
1317
- shellLaunchConfig.initialText = this.taskShellIntegrationStartSequence(cwd) + formatMessageForTerminal(( localize(13026, "Executing task in folder {0}: {1}", folder, commandLine)), {
1329
+ shellLaunchConfig.initialText = this.taskShellIntegrationStartSequence(cwd) + formatMessageForTerminal(( localize(13091, "Executing task in folder {0}: {1}", folder, commandLine)), {
1318
1330
  excludeLeadingNewLine: true
1319
1331
  }) + this.getTaskShellIntegrationOutputSequence(commandLineInfo);
1320
1332
  } else {
1321
- shellLaunchConfig.initialText = this.taskShellIntegrationStartSequence(cwd) + formatMessageForTerminal(( localize(13027, "Executing task: {0}", commandLine)), {
1333
+ shellLaunchConfig.initialText = this.taskShellIntegrationStartSequence(cwd) + formatMessageForTerminal(( localize(13092, "Executing task: {0}", commandLine)), {
1322
1334
  excludeLeadingNewLine: true
1323
1335
  }) + this.getTaskShellIntegrationOutputSequence(commandLineInfo);
1324
1336
  }
@@ -1355,7 +1367,7 @@ class TerminalTaskSystem extends Disposable {
1355
1367
  };
1356
1368
  if (needsFolderQualification && workspaceFolder) {
1357
1369
  shellLaunchConfig.initialText = this.taskShellIntegrationStartSequence(cwd) + formatMessageForTerminal(( localize(
1358
- 13026,
1370
+ 13091,
1359
1371
  "Executing task in folder {0}: {1}",
1360
1372
  workspaceFolder.name,
1361
1373
  `${shellLaunchConfig.executable} ${getArgsToEcho(shellLaunchConfig.args)}`
@@ -1364,7 +1376,7 @@ class TerminalTaskSystem extends Disposable {
1364
1376
  }) + this.getTaskShellIntegrationOutputSequence(undefined);
1365
1377
  } else {
1366
1378
  shellLaunchConfig.initialText = this.taskShellIntegrationStartSequence(cwd) + formatMessageForTerminal(( localize(
1367
- 13028,
1379
+ 13093,
1368
1380
  "Executing task: {0}",
1369
1381
  `${shellLaunchConfig.executable} ${getArgsToEcho(shellLaunchConfig.args)}`
1370
1382
  )), {
@@ -1517,7 +1529,7 @@ class TerminalTaskSystem extends Disposable {
1517
1529
  customPtyImplementation: (id, cols, rows) => ( new TerminalProcessExtHostProxy(id, cols, rows, this._terminalService)),
1518
1530
  waitOnExit,
1519
1531
  name: this._createTerminalName(task),
1520
- initialText: task.command.presentation && task.command.presentation.echo ? formatMessageForTerminal(( localize(13029, "Executing task: {0}", task._label)), {
1532
+ initialText: task.command.presentation && task.command.presentation.echo ? formatMessageForTerminal(( localize(13094, "Executing task: {0}", task._label)), {
1521
1533
  excludeLeadingNewLine: true
1522
1534
  }) : undefined,
1523
1535
  isFeatureTerminal: true,
@@ -1540,7 +1552,7 @@ class TerminalTaskSystem extends Disposable {
1540
1552
  presentationOptions
1541
1553
  );
1542
1554
  if (launchConfigs === undefined) {
1543
- return [undefined, ( new TaskError(Severity.Error, ( localize(13030, "Can't execute a shell command on an UNC drive using cmd.exe.")), TaskErrors.UnknownError))];
1555
+ return [undefined, ( new TaskError(Severity.Error, ( localize(13095, "Can't execute a shell command on an UNC drive using cmd.exe.")), TaskErrors.UnknownError))];
1544
1556
  }
1545
1557
  }
1546
1558
  const prefersSameTerminal = presentationOptions.panel === PanelKind.Dedicated;
@@ -1848,7 +1860,7 @@ class TerminalTaskSystem extends Disposable {
1848
1860
  }
1849
1861
  if (!matcher) {
1850
1862
  this._appendOutput(( localize(
1851
- 13031,
1863
+ 13096,
1852
1864
  "Problem matcher {0} can't be resolved. The matcher will be ignored"
1853
1865
  )));
1854
1866
  continue;
@@ -1976,9 +1988,9 @@ function getWaitOnExitValue(presentationOptions, configurationProperties) {
1976
1988
  if ((presentationOptions.close === undefined) || (presentationOptions.close === false)) {
1977
1989
  if ((presentationOptions.reveal !== RevealKind.Never) || !configurationProperties.isBackground || (presentationOptions.close === false)) {
1978
1990
  if (presentationOptions.panel === PanelKind.New) {
1979
- return taskShellIntegrationWaitOnExitSequence(( localize(13032, "Press any key to close the terminal.")));
1991
+ return taskShellIntegrationWaitOnExitSequence(( localize(13097, "Press any key to close the terminal.")));
1980
1992
  } else if (presentationOptions.showReuseMessage) {
1981
- return taskShellIntegrationWaitOnExitSequence(( localize(13033, "Terminal will be reused by tasks, press any key to close it.")));
1993
+ return taskShellIntegrationWaitOnExitSequence(( localize(13098, "Terminal will be reused by tasks, press any key to close it.")));
1982
1994
  } else {
1983
1995
  return true;
1984
1996
  }
@@ -10,12 +10,12 @@ const schema = {
10
10
  },
11
11
  options: {
12
12
  type: "object",
13
- description: ( localize(13035, "Additional command options")),
13
+ description: ( localize(13100, "Additional command options")),
14
14
  properties: {
15
15
  cwd: {
16
16
  type: "string",
17
17
  description: ( localize(
18
- 13036,
18
+ 13101,
19
19
  "The current working directory of the executed program or script. If omitted Code's current workspace root is used."
20
20
  ))
21
21
  },
@@ -25,7 +25,7 @@ const schema = {
25
25
  type: "string"
26
26
  },
27
27
  description: ( localize(
28
- 13037,
28
+ 13102,
29
29
  "The environment of the executed program or shell. If omitted the parent process' environment is used."
30
30
  ))
31
31
  }
@@ -38,7 +38,7 @@ const schema = {
38
38
  oneOf: [{
39
39
  type: "string",
40
40
  errorMessage: ( localize(
41
- 13038,
41
+ 13103,
42
42
  "Unrecognized problem matcher. Is the extension that contributes this problem matcher installed?"
43
43
  ))
44
44
  }, Schemas.LegacyProblemMatcher, {
@@ -47,7 +47,7 @@ const schema = {
47
47
  anyOf: [{
48
48
  type: "string",
49
49
  errorMessage: ( localize(
50
- 13038,
50
+ 13103,
51
51
  "Unrecognized problem matcher. Is the extension that contributes this problem matcher installed?"
52
52
  ))
53
53
  }, Schemas.LegacyProblemMatcher]
@@ -57,15 +57,15 @@ const schema = {
57
57
  shellConfiguration: {
58
58
  type: "object",
59
59
  additionalProperties: false,
60
- description: ( localize(13039, "Configures the shell to be used.")),
60
+ description: ( localize(13104, "Configures the shell to be used.")),
61
61
  properties: {
62
62
  executable: {
63
63
  type: "string",
64
- description: ( localize(13040, "The shell to be used."))
64
+ description: ( localize(13105, "The shell to be used."))
65
65
  },
66
66
  args: {
67
67
  type: "array",
68
- description: ( localize(13041, "The shell arguments.")),
68
+ description: ( localize(13106, "The shell arguments.")),
69
69
  items: {
70
70
  type: "string"
71
71
  }
@@ -79,13 +79,13 @@ const schema = {
79
79
  command: {
80
80
  type: "string",
81
81
  description: ( localize(
82
- 13042,
82
+ 13107,
83
83
  "The command to be executed. Can be an external program or a shell command."
84
84
  ))
85
85
  },
86
86
  args: {
87
87
  type: "array",
88
- description: ( localize(13043, "Arguments passed to the command when this task is invoked.")),
88
+ description: ( localize(13108, "Arguments passed to the command when this task is invoked.")),
89
89
  items: {
90
90
  type: "string"
91
91
  }
@@ -102,18 +102,18 @@ const schema = {
102
102
  properties: {
103
103
  taskName: {
104
104
  type: "string",
105
- description: ( localize(13044, "The task's name"))
105
+ description: ( localize(13109, "The task's name"))
106
106
  },
107
107
  command: {
108
108
  type: "string",
109
109
  description: ( localize(
110
- 13042,
110
+ 13107,
111
111
  "The command to be executed. Can be an external program or a shell command."
112
112
  ))
113
113
  },
114
114
  args: {
115
115
  type: "array",
116
- description: ( localize(13043, "Arguments passed to the command when this task is invoked.")),
116
+ description: ( localize(13108, "Arguments passed to the command when this task is invoked.")),
117
117
  items: {
118
118
  type: "string"
119
119
  }
@@ -124,13 +124,13 @@ const schema = {
124
124
  windows: {
125
125
  anyOf: [{
126
126
  $ref: "#/definitions/commandConfiguration",
127
- description: ( localize(13045, "Windows specific command configuration"))
127
+ description: ( localize(13110, "Windows specific command configuration"))
128
128
  }, {
129
129
  properties: {
130
130
  problemMatcher: {
131
131
  $ref: "#/definitions/problemMatcherType",
132
132
  description: ( localize(
133
- 13046,
133
+ 13111,
134
134
  "The problem matcher(s) to use. Can either be a string or a problem matcher definition or an array of strings and problem matchers."
135
135
  ))
136
136
  }
@@ -140,13 +140,13 @@ const schema = {
140
140
  osx: {
141
141
  anyOf: [{
142
142
  $ref: "#/definitions/commandConfiguration",
143
- description: ( localize(13047, "Mac specific command configuration"))
143
+ description: ( localize(13112, "Mac specific command configuration"))
144
144
  }, {
145
145
  properties: {
146
146
  problemMatcher: {
147
147
  $ref: "#/definitions/problemMatcherType",
148
148
  description: ( localize(
149
- 13046,
149
+ 13111,
150
150
  "The problem matcher(s) to use. Can either be a string or a problem matcher definition or an array of strings and problem matchers."
151
151
  ))
152
152
  }
@@ -156,13 +156,13 @@ const schema = {
156
156
  linux: {
157
157
  anyOf: [{
158
158
  $ref: "#/definitions/commandConfiguration",
159
- description: ( localize(13048, "Linux specific command configuration"))
159
+ description: ( localize(13113, "Linux specific command configuration"))
160
160
  }, {
161
161
  properties: {
162
162
  problemMatcher: {
163
163
  $ref: "#/definitions/problemMatcherType",
164
164
  description: ( localize(
165
- 13046,
165
+ 13111,
166
166
  "The problem matcher(s) to use. Can either be a string or a problem matcher definition or an array of strings and problem matchers."
167
167
  ))
168
168
  }
@@ -172,7 +172,7 @@ const schema = {
172
172
  suppressTaskName: {
173
173
  type: "boolean",
174
174
  description: ( localize(
175
- 13049,
175
+ 13114,
176
176
  "Controls whether the task name is added as an argument to the command. If omitted the globally defined value is used."
177
177
  )),
178
178
  default: true
@@ -180,23 +180,23 @@ const schema = {
180
180
  showOutput: {
181
181
  $ref: "#/definitions/showOutputType",
182
182
  description: ( localize(
183
- 13050,
183
+ 13115,
184
184
  "Controls whether the output of the running task is shown or not. If omitted the globally defined value is used."
185
185
  ))
186
186
  },
187
187
  echoCommand: {
188
188
  type: "boolean",
189
189
  description: ( localize(
190
- 13051,
190
+ 13116,
191
191
  "Controls whether the executed command is echoed to the output. Default is false."
192
192
  )),
193
193
  default: true
194
194
  },
195
195
  isWatching: {
196
196
  type: "boolean",
197
- deprecationMessage: ( localize(13052, "Deprecated. Use isBackground instead.")),
197
+ deprecationMessage: ( localize(13117, "Deprecated. Use isBackground instead.")),
198
198
  description: ( localize(
199
- 13053,
199
+ 13118,
200
200
  "Whether the executed task is kept alive and is watching the file system."
201
201
  )),
202
202
  default: true
@@ -204,7 +204,7 @@ const schema = {
204
204
  isBackground: {
205
205
  type: "boolean",
206
206
  description: ( localize(
207
- 13054,
207
+ 13119,
208
208
  "Whether the executed task is kept alive and is running in the background."
209
209
  )),
210
210
  default: true
@@ -212,25 +212,25 @@ const schema = {
212
212
  promptOnClose: {
213
213
  type: "boolean",
214
214
  description: ( localize(
215
- 13055,
215
+ 13120,
216
216
  "Whether the user is prompted when VS Code closes with a running task."
217
217
  )),
218
218
  default: false
219
219
  },
220
220
  isBuildCommand: {
221
221
  type: "boolean",
222
- description: ( localize(13056, "Maps this task to Code's default build command.")),
222
+ description: ( localize(13121, "Maps this task to Code's default build command.")),
223
223
  default: true
224
224
  },
225
225
  isTestCommand: {
226
226
  type: "boolean",
227
- description: ( localize(13057, "Maps this task to Code's default test command.")),
227
+ description: ( localize(13122, "Maps this task to Code's default test command.")),
228
228
  default: true
229
229
  },
230
230
  problemMatcher: {
231
231
  $ref: "#/definitions/problemMatcherType",
232
232
  description: ( localize(
233
- 13046,
233
+ 13111,
234
234
  "The problem matcher(s) to use. Can either be a string or a problem matcher definition or an array of strings and problem matchers."
235
235
  ))
236
236
  }
@@ -243,13 +243,13 @@ const schema = {
243
243
  command: {
244
244
  type: "string",
245
245
  description: ( localize(
246
- 13042,
246
+ 13107,
247
247
  "The command to be executed. Can be an external program or a shell command."
248
248
  ))
249
249
  },
250
250
  args: {
251
251
  type: "array",
252
- description: ( localize(13058, "Additional arguments passed to the command.")),
252
+ description: ( localize(13123, "Additional arguments passed to the command.")),
253
253
  items: {
254
254
  type: "string"
255
255
  }
@@ -260,15 +260,15 @@ const schema = {
260
260
  showOutput: {
261
261
  $ref: "#/definitions/showOutputType",
262
262
  description: ( localize(
263
- 13059,
263
+ 13124,
264
264
  "Controls whether the output of the running task is shown or not. If omitted 'always' is used."
265
265
  ))
266
266
  },
267
267
  isWatching: {
268
268
  type: "boolean",
269
- deprecationMessage: ( localize(13060, "Deprecated. Use isBackground instead.")),
269
+ deprecationMessage: ( localize(13125, "Deprecated. Use isBackground instead.")),
270
270
  description: ( localize(
271
- 13061,
271
+ 13126,
272
272
  "Whether the executed task is kept alive and is watching the file system."
273
273
  )),
274
274
  default: true
@@ -276,7 +276,7 @@ const schema = {
276
276
  isBackground: {
277
277
  type: "boolean",
278
278
  description: ( localize(
279
- 13062,
279
+ 13127,
280
280
  "Whether the executed task is kept alive and is running in the background."
281
281
  )),
282
282
  default: true
@@ -284,7 +284,7 @@ const schema = {
284
284
  promptOnClose: {
285
285
  type: "boolean",
286
286
  description: ( localize(
287
- 13063,
287
+ 13128,
288
288
  "Whether the user is prompted when VS Code closes with a running background task."
289
289
  )),
290
290
  default: false
@@ -292,7 +292,7 @@ const schema = {
292
292
  echoCommand: {
293
293
  type: "boolean",
294
294
  description: ( localize(
295
- 13051,
295
+ 13116,
296
296
  "Controls whether the executed command is echoed to the output. Default is false."
297
297
  )),
298
298
  default: true
@@ -300,26 +300,26 @@ const schema = {
300
300
  suppressTaskName: {
301
301
  type: "boolean",
302
302
  description: ( localize(
303
- 13064,
303
+ 13129,
304
304
  "Controls whether the task name is added as an argument to the command. Default is false."
305
305
  )),
306
306
  default: true
307
307
  },
308
308
  taskSelector: {
309
309
  type: "string",
310
- description: ( localize(13065, "Prefix to indicate that an argument is task."))
310
+ description: ( localize(13130, "Prefix to indicate that an argument is task."))
311
311
  },
312
312
  problemMatcher: {
313
313
  $ref: "#/definitions/problemMatcherType",
314
314
  description: ( localize(
315
- 13066,
315
+ 13131,
316
316
  "The problem matcher(s) to use. Can either be a string or a problem matcher definition or an array of strings and problem matchers."
317
317
  ))
318
318
  },
319
319
  tasks: {
320
320
  type: "array",
321
321
  description: ( localize(
322
- 13067,
322
+ 13132,
323
323
  "The task configurations. Usually these are enrichments of task already defined in the external task runner."
324
324
  )),
325
325
  items: {
@@ -13,32 +13,32 @@ const schema = {
13
13
  version: {
14
14
  type: "string",
15
15
  enum: ["0.1.0"],
16
- deprecationMessage: ( localize(13068, "Task version 0.1.0 is deprecated. Please use 2.0.0")),
17
- description: ( localize(13069, "The config's version number"))
16
+ deprecationMessage: ( localize(13133, "Task version 0.1.0 is deprecated. Please use 2.0.0")),
17
+ description: ( localize(13134, "The config's version number"))
18
18
  },
19
19
  _runner: {
20
- deprecationMessage: ( localize(13070, "The runner has graduated. Use the official runner property"))
20
+ deprecationMessage: ( localize(13135, "The runner has graduated. Use the official runner property"))
21
21
  },
22
22
  runner: {
23
23
  type: "string",
24
24
  enum: ["process", "terminal"],
25
25
  default: "process",
26
26
  description: ( localize(
27
- 13071,
27
+ 13136,
28
28
  "Defines whether the task is executed as a process and the output is shown in the output window or inside the terminal."
29
29
  ))
30
30
  },
31
31
  windows: {
32
32
  $ref: "#/definitions/taskRunnerConfiguration",
33
- description: ( localize(13072, "Windows specific command configuration"))
33
+ description: ( localize(13137, "Windows specific command configuration"))
34
34
  },
35
35
  osx: {
36
36
  $ref: "#/definitions/taskRunnerConfiguration",
37
- description: ( localize(13073, "Mac specific command configuration"))
37
+ description: ( localize(13138, "Mac specific command configuration"))
38
38
  },
39
39
  linux: {
40
40
  $ref: "#/definitions/taskRunnerConfiguration",
41
- description: ( localize(13074, "Linux specific command configuration"))
41
+ description: ( localize(13139, "Linux specific command configuration"))
42
42
  }
43
43
  }
44
44
  }, {
@@ -50,7 +50,7 @@ const shellCommand = {
50
50
  type: "boolean",
51
51
  default: true,
52
52
  description: ( localize(
53
- 13075,
53
+ 13140,
54
54
  "Specifies whether the command is a shell command or an external program. Defaults to false if omitted."
55
55
  ))
56
56
  };