Skip to content

Commit 7eb7a4a

Browse files
committed
Adds source to launchpad from git-commands
1 parent d5e2eea commit 7eb7a4a

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

src/commands/git/switch.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ export class SwitchGitCommand extends QuickCommand<State> {
188188
}
189189

190190
if (isCrossCommandReference(result)) {
191-
void executeCommand(result.command);
191+
void executeCommand(result.command, result.args);
192192
endSteps(state);
193193
return;
194194
}

src/commands/quickCommand.steps.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ import { sortTags } from '../git/models/tag';
4141
import type { GitWorktree, WorktreeQuickPickItem } from '../git/models/worktree';
4242
import { createWorktreeQuickPickItem, sortWorktrees } from '../git/models/worktree';
4343
import { remoteUrlRegex } from '../git/parsers/remoteParser';
44+
import type { FocusCommandArgs } from '../plus/focus/focus';
4445
import { isSubscriptionPaidPlan, isSubscriptionPreviewTrialExpired } from '../plus/gk/account/subscription';
4546
import {
4647
CommitApplyFileChangesCommandQuickPickItem,
@@ -69,7 +70,7 @@ import {
6970
OpenChangedFilesCommandQuickPickItem,
7071
OpenOnlyChangedFilesCommandQuickPickItem,
7172
} from '../quickpicks/items/commits';
72-
import type { QuickPickSeparator } from '../quickpicks/items/common';
73+
import type { QuickPickItemOfT, QuickPickSeparator } from '../quickpicks/items/common';
7374
import { CommandQuickPickItem, createQuickPickSeparator } from '../quickpicks/items/common';
7475
import type { DirectiveQuickPickItem } from '../quickpicks/items/directive';
7576
import { createDirectiveQuickPickItem, Directive, isDirectiveQuickPickItem } from '../quickpicks/items/directive';
@@ -118,6 +119,7 @@ import {
118119
canInputStepContinue,
119120
canPickStepContinue,
120121
canStepContinue,
122+
createCrossCommandReference,
121123
createInputStep,
122124
createPickStep,
123125
endSteps,
@@ -961,11 +963,13 @@ export function* pickBranchOrTagStepMultiRepo<
961963
item: '',
962964
};
963965

964-
const choosePullRequestItem: QuickPickItem & { item: CrossCommandReference } = {
966+
const choosePullRequestItem: QuickPickItemOfT<CrossCommandReference> = {
965967
label: 'Choose a Pull Request...',
966968
iconPath: new ThemeIcon('git-pull-request'),
967969
alwaysShow: true,
968-
item: { command: Commands.ShowLaunchpad },
970+
item: createCrossCommandReference<Partial<FocusCommandArgs>>(Commands.ShowLaunchpad, {
971+
source: 'git-commands',
972+
}),
969973
};
970974

971975
const getBranchesAndOrTagsFn = () => {

src/commands/quickCommand.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -386,10 +386,15 @@ export function freezeStep(step: QuickPickStep, quickpick: QuickPick<any>): Disp
386386
};
387387
}
388388

389-
export interface CrossCommandReference {
389+
export interface CrossCommandReference<T = unknown> {
390390
command: Commands;
391+
args?: T;
391392
}
392393

393-
export function isCrossCommandReference(value: any): value is CrossCommandReference {
394+
export function isCrossCommandReference<T = unknown>(value: any): value is CrossCommandReference<T> {
394395
return value.command != null;
395396
}
397+
398+
export function createCrossCommandReference<T>(command: Commands, args: T): CrossCommandReference<T> {
399+
return { command: command, args: args };
400+
}

0 commit comments

Comments
 (0)