Skip to content

Commit 13802a4

Browse files
authored
Use vscode.Disposable.from instead of compositeDisposable (#1980)
Clean up the codebase so that it uses the built in `vscode.Disposable.from` to dispose multiple disposables at the same time. This replaces our own `compositeDisposable` method. Docs here: https://code.visualstudio.com/api/references/vscode-api#Disposable
1 parent dff5096 commit 13802a4

File tree

4 files changed

+5
-27
lines changed

4 files changed

+5
-27
lines changed

src/TestExplorer/TestExplorer.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import { SwiftLogger } from "../logging/SwiftLogger";
2121
import { buildOptions, getBuildAllTask } from "../tasks/SwiftTaskProvider";
2222
import { TaskManager } from "../tasks/TaskManager";
2323
import { SwiftExecOperation, TaskOperation } from "../tasks/TaskQueue";
24-
import { compositeDisposable, getErrorDescription } from "../utilities/utilities";
24+
import { getErrorDescription } from "../utilities/utilities";
2525
import { Version } from "../utilities/version";
2626
import { parseTestsFromDocumentSymbols } from "./DocumentSymbolTestDiscovery";
2727
import { LSPTestDiscovery } from "./LSPTestDiscovery";
@@ -208,7 +208,7 @@ export class TestExplorer {
208208
}
209209
});
210210

211-
return compositeDisposable(endProcessDisposable, didChangeSwiftFileDisposable);
211+
return vscode.Disposable.from(endProcessDisposable, didChangeSwiftFileDisposable);
212212
}
213213

214214
/**
@@ -229,7 +229,7 @@ export class TestExplorer {
229229
break;
230230
}
231231
});
232-
return compositeDisposable(tokenSource, disposable);
232+
return vscode.Disposable.from(tokenSource, disposable);
233233
}
234234

235235
/**

src/debugger/debugAdapterFactory.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,7 @@ export function registerDebugger(workspaceContext: WorkspaceContext): vscode.Dis
5555
register();
5656
}
5757

58-
return {
59-
dispose: () => {
60-
configurationEvent.dispose();
61-
subscriptions.map(sub => sub.dispose());
62-
},
63-
};
58+
return vscode.Disposable.from(configurationEvent, ...subscriptions);
6459
}
6560

6661
/**

src/debugger/logTracker.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,7 @@ export function registerLoggingDebugAdapterTracker(): vscode.Disposable {
5454
];
5555

5656
// Return a disposable that cleans everything up.
57-
return {
58-
dispose() {
59-
subscriptions.forEach(sub => sub.dispose());
60-
},
61-
};
57+
return vscode.Disposable.from(...subscriptions);
6258
}
6359

6460
/**

src/utilities/utilities.ts

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -457,16 +457,3 @@ export function destructuredPromise<T>(): {
457457
return { promise: p, resolve: resolve!, reject: reject! };
458458
}
459459
/* eslint-enable @typescript-eslint/no-explicit-any */
460-
461-
/**
462-
* Creates a composite disposable from multiple disposables.
463-
* @param disposables The disposables to include.
464-
* @returns A composite disposable that disposes all included disposables.
465-
*/
466-
export function compositeDisposable(...disposables: vscode.Disposable[]): vscode.Disposable {
467-
return {
468-
dispose: () => {
469-
disposables.forEach(d => d.dispose());
470-
},
471-
};
472-
}

0 commit comments

Comments
 (0)