Skip to content

Commit 8180435

Browse files
committed
don't use new object
1 parent d5358b1 commit 8180435

File tree

1 file changed

+9
-16
lines changed

1 file changed

+9
-16
lines changed

src/vs/workbench/contrib/tasks/browser/terminalTaskSystem.ts

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,6 @@ interface IReconnectionTaskData {
7878
group?: string;
7979
}
8080

81-
interface IReconnectedTerminal extends ITerminalInstance {
82-
reconnectionData: IReconnectionTaskData;
83-
}
84-
8581
const ReconnectionType = 'Task';
8682

8783
class VariableResolver {
@@ -202,7 +198,7 @@ export class TerminalTaskSystem extends Disposable implements ITaskSystem {
202198
private _terminalCreationQueue: Promise<ITerminalInstance | void> = Promise.resolve();
203199
private _hasReconnected: boolean = false;
204200
private readonly _onDidStateChange: Emitter<ITaskEvent>;
205-
private _reconnectedTerminals: IReconnectedTerminal[] | undefined;
201+
private _reconnectedTerminals: ITerminalInstance[] | undefined;
206202

207203
taskShellIntegrationStartSequence(cwd: string | URI | undefined): string {
208204
return (
@@ -1281,7 +1277,8 @@ export class TerminalTaskSystem extends Disposable implements ITaskSystem {
12811277
}
12821278
for (let i = 0; i < this._reconnectedTerminals.length; i++) {
12831279
const terminal = this._reconnectedTerminals[i];
1284-
if (terminal.reconnectionData.lastTask === task.getCommonTaskId()) {
1280+
const data = terminal.shellLaunchConfig?.attachPersistentProcess?.reconnectionProperties?.data as IReconnectionTaskData | undefined;
1281+
if (data?.lastTask === task.getCommonTaskId()) {
12851282
this._reconnectedTerminals.splice(i, 1);
12861283
return terminal;
12871284
}
@@ -1327,21 +1324,17 @@ export class TerminalTaskSystem extends Disposable implements ITaskSystem {
13271324
return;
13281325
}
13291326
this._reconnectedTerminals = [];
1330-
for (const terminal of this._terminalService.getReconnectedTerminals(ReconnectionType)?.filter(t => !t.isDisposed) || []) {
1331-
const reconnectionData = terminal.shellLaunchConfig.attachPersistentProcess?.reconnectionProperties?.data as IReconnectionTaskData;
1332-
if (reconnectionData) {
1333-
this._reconnectedTerminals.push({ ...terminal, reconnectionData });
1334-
} else {
1335-
this._logService.trace(`Terminal was owned by tasks but has no reconnection data`, terminal.instanceId, terminal.shellLaunchConfig);
1336-
}
1337-
}
1327+
this._reconnectedTerminals = this._terminalService.getReconnectedTerminals(ReconnectionType)?.filter(t => !t.isDisposed && t.shellLaunchConfig.attachPersistentProcess?.reconnectionProperties?.data) || [];
13381328
this._logService.trace(`Attempting reconnection of ${this._reconnectedTerminals?.length} terminals`);
13391329
if (!this._reconnectedTerminals?.length) {
13401330
this._logService.trace(`No terminals to reconnect to so returning`);
13411331
} else {
13421332
for (const terminal of this._reconnectedTerminals) {
1343-
const terminalData = { lastTask: terminal.reconnectionData.lastTask, group: terminal.reconnectionData.group, terminal };
1344-
this._terminals[terminal.instanceId] = terminalData;
1333+
const data = terminal.shellLaunchConfig?.attachPersistentProcess?.reconnectionProperties?.data as IReconnectionTaskData | undefined;
1334+
if (data) {
1335+
const terminalData = { lastTask: data.lastTask, group: data.group, terminal };
1336+
this._terminals[terminal.instanceId] = terminalData;
1337+
}
13451338
}
13461339
}
13471340
this._hasReconnected = true;

0 commit comments

Comments
 (0)