Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3552,11 +3552,11 @@
},
{
"command": "pr.copyPrLink",
"when": "webviewId == PullRequestOverview && github:copyMenu"
"when": "(webviewId == PullRequestOverview || webviewId == IssueOverview) && github:copyMenu"
},
{
"command": "pr.copyVscodeDevPrLink",
"when": "webviewId == PullRequestOverview && github:copyMenu"
"when": "(webviewId == PullRequestOverview || webviewId == IssueOverview) && github:copyMenu"
},
{
"command": "pr.readyForReviewDescription",
Expand Down
26 changes: 17 additions & 9 deletions src/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1565,32 +1565,40 @@ ${contents}

context.subscriptions.push(
vscode.commands.registerCommand('pr.copyVscodeDevPrLink', async (params: OverviewContext | undefined) => {
let pr: PullRequestModel | undefined;
let item: PullRequestModel | IssueModel | undefined;
if (params) {
pr = await reposManager.getManagerForRepository(params.owner, params.repo)?.resolvePullRequest(params.owner, params.repo, params.number, true);
const folderManager = reposManager.getManagerForRepository(params.owner, params.repo);
item = await folderManager?.resolvePullRequest(params.owner, params.repo, params.number, true);
if (!item) {
item = await folderManager?.resolveIssue(params.owner, params.repo, params.number);
}
} else {
const activePullRequests: PullRequestModel[] = reposManager.folderManagers
.map(folderManager => folderManager.activePullRequest!)
.filter(activePR => !!activePR);
pr = await chooseItem<PullRequestModel>(
item = await chooseItem<PullRequestModel>(
activePullRequests,
itemValue => ({ label: `${itemValue.number}: ${itemValue.title}` }),
{ placeHolder: vscode.l10n.t('Pull request to create a link for') },
);
}
if (pr) {
return vscode.env.clipboard.writeText(vscodeDevPrLink(pr));
if (item) {
return vscode.env.clipboard.writeText(vscodeDevPrLink(item));
}
}));

context.subscriptions.push(
vscode.commands.registerCommand('pr.copyPrLink', async (params: OverviewContext | undefined) => {
let pr: PullRequestModel | undefined;
let item: PullRequestModel | IssueModel | undefined;
Comment thread
alexr00 marked this conversation as resolved.
if (params) {
pr = await reposManager.getManagerForRepository(params.owner, params.repo)?.resolvePullRequest(params.owner, params.repo, params.number, true);
const folderManager = reposManager.getManagerForRepository(params.owner, params.repo);
item = await folderManager?.resolvePullRequest(params.owner, params.repo, params.number, true);
if (!item) {
item = await folderManager?.resolveIssue(params.owner, params.repo, params.number);
}
}
if (pr) {
return vscode.env.clipboard.writeText(pr.html_url);
if (item) {
return vscode.env.clipboard.writeText(item.html_url);
}
}));

Expand Down