Open branches on vscode.dev from ref picker (#181549)

This commit is contained in:
Joyce Er
2023-05-24 02:23:40 -07:00
committed by GitHub
parent edcad3ab53
commit 9f081fd11a
10 changed files with 179 additions and 16 deletions

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { QuickPickItem, window, QuickPick, QuickPickItemKind, l10n } from 'vscode';
import { RemoteSourceProvider, RemoteSource, PickRemoteSourceOptions, PickRemoteSourceResult } from './api/git-base';
import { RemoteSourceProvider, RemoteSource, PickRemoteSourceOptions, PickRemoteSourceResult, RemoteSourceAction } from './api/git-base';
import { Model } from './model';
import { throttle, debounce } from './decorators';
@@ -81,6 +81,20 @@ class RemoteSourceProviderQuickPick {
}
}
export async function getRemoteSourceActions(model: Model, url: string): Promise<RemoteSourceAction[]> {
const providers = model.getRemoteProviders();
const remoteSourceActions = [];
for (const provider of providers) {
const providerActions = await provider.getRemoteSourceActions?.(url);
if (providerActions?.length) {
remoteSourceActions.push(...providerActions);
}
}
return remoteSourceActions;
}
export async function pickRemoteSource(model: Model, options: PickRemoteSourceOptions & { branch?: false | undefined }): Promise<string | undefined>;
export async function pickRemoteSource(model: Model, options: PickRemoteSourceOptions & { branch: true }): Promise<PickRemoteSourceResult | undefined>;
export async function pickRemoteSource(model: Model, options: PickRemoteSourceOptions = {}): Promise<string | PickRemoteSourceResult | undefined> {