This commit is contained in:
Joao Moreno
2022-01-11 20:59:44 +01:00
parent 49d54c9d9a
commit 06e1a2d4e0
3 changed files with 26 additions and 30 deletions

View File

@@ -8,7 +8,7 @@ import { GithubRemoteSourceProvider } from './remoteSourceProvider';
import { GitExtension } from './typings/git';
import { registerCommands } from './commands';
import { GithubCredentialProviderManager } from './credentialProvider';
import { dispose, combinedDisposable } from './util';
import { DisposableStore } from './util';
import { GithubPushErrorHandler } from './pushErrorHandler';
import { GitBaseExtension } from './typings/git-base';
import { GithubRemoteSourcePublisher } from './remoteSourcePublisher';
@@ -19,7 +19,7 @@ export function activate(context: ExtensionContext): void {
}
function initializeGitBaseExtension(): Disposable {
const disposables = new Set<Disposable>();
const disposables = new DisposableStore();
const initialize = () => {
try {
@@ -35,8 +35,7 @@ function initializeGitBaseExtension(): Disposable {
const onDidChangeGitBaseExtensionEnablement = (enabled: boolean) => {
if (!enabled) {
dispose(disposables);
disposables.clear();
disposables.dispose();
} else {
initialize();
}
@@ -46,11 +45,11 @@ function initializeGitBaseExtension(): Disposable {
disposables.add(gitBaseExtension.onDidChangeEnablement(onDidChangeGitBaseExtensionEnablement));
onDidChangeGitBaseExtensionEnablement(gitBaseExtension.enabled);
return combinedDisposable(disposables);
return disposables;
}
function initializeGitExtension(): Disposable {
const disposables = new Set<Disposable>();
const disposables = new DisposableStore();
let gitExtension = extensions.getExtension<GitExtension>('vscode.git');
@@ -68,8 +67,7 @@ function initializeGitExtension(): Disposable {
commands.executeCommand('setContext', 'git-base.gitEnabled', true);
} else {
dispose(disposables);
disposables.clear();
disposables.dispose();
}
};
@@ -81,16 +79,15 @@ function initializeGitExtension(): Disposable {
if (gitExtension) {
initialize();
} else {
const disposable = extensions.onDidChange(() => {
const listener = extensions.onDidChange(() => {
if (!gitExtension && extensions.getExtension<GitExtension>('vscode.git')) {
gitExtension = extensions.getExtension<GitExtension>('vscode.git');
initialize();
dispose(disposable);
listener.dispose();
}
});
disposables.add(disposable);
disposables.add(listener);
}
return combinedDisposable(disposables);
return disposables;
}