in src/desktop/commands/publish_to_gitlab.ts [6:35]
export async function publishToGitlab(): Promise<void> {
const { remoteSourceRepository } = gitExtensionWrapper;
if (!remoteSourceRepository) {
await vscode.window.showErrorMessage('Git extension is not initialized.');
return;
}
const workspaces = vscode.workspace.workspaceFolders;
if (!workspaces || isEmpty(workspaces)) return;
const account = await pickAccount();
if (!account) return;
const source = remoteSourceRepository.getSourceForAccount(account);
if (!source) return;
if (workspaces.length > 1) {
const selection = await vscode.window.showQuickPick(
workspaces.map(folder => ({ label: folder.name, description: folder.uri.fsPath, folder })),
{
placeHolder: 'Pick a folder to publish to GitLab',
},
);
if (selection) {
await source.publishFolder(selection.folder.uri);
}
} else {
await source.publishFolder(workspaces[0].uri);
}
}