@alejandrochaves/devflow-cli 1.3.2 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/commands/amend.d.ts.map +1 -1
  2. package/dist/commands/amend.js +139 -68
  3. package/dist/commands/amend.js.map +1 -1
  4. package/dist/commands/branch.d.ts.map +1 -1
  5. package/dist/commands/branch.js +201 -80
  6. package/dist/commands/branch.js.map +1 -1
  7. package/dist/commands/changelog.d.ts.map +1 -1
  8. package/dist/commands/changelog.js +62 -32
  9. package/dist/commands/changelog.js.map +1 -1
  10. package/dist/commands/cleanup.d.ts.map +1 -1
  11. package/dist/commands/cleanup.js +10 -3
  12. package/dist/commands/cleanup.js.map +1 -1
  13. package/dist/commands/commit.d.ts.map +1 -1
  14. package/dist/commands/commit.js +343 -175
  15. package/dist/commands/commit.js.map +1 -1
  16. package/dist/commands/fixup.d.ts.map +1 -1
  17. package/dist/commands/fixup.js +129 -81
  18. package/dist/commands/fixup.js.map +1 -1
  19. package/dist/commands/init.d.ts.map +1 -1
  20. package/dist/commands/init.js +223 -110
  21. package/dist/commands/init.js.map +1 -1
  22. package/dist/commands/issue.d.ts.map +1 -1
  23. package/dist/commands/issue.js +341 -83
  24. package/dist/commands/issue.js.map +1 -1
  25. package/dist/commands/issues.d.ts.map +1 -1
  26. package/dist/commands/issues.js +166 -77
  27. package/dist/commands/issues.js.map +1 -1
  28. package/dist/commands/log.d.ts.map +1 -1
  29. package/dist/commands/log.js +81 -46
  30. package/dist/commands/log.js.map +1 -1
  31. package/dist/commands/merge.d.ts.map +1 -1
  32. package/dist/commands/merge.js +78 -38
  33. package/dist/commands/merge.js.map +1 -1
  34. package/dist/commands/pr.d.ts.map +1 -1
  35. package/dist/commands/pr.js +110 -42
  36. package/dist/commands/pr.js.map +1 -1
  37. package/dist/commands/release.d.ts.map +1 -1
  38. package/dist/commands/release.js +70 -37
  39. package/dist/commands/release.js.map +1 -1
  40. package/dist/commands/review.d.ts.map +1 -1
  41. package/dist/commands/review.js +144 -84
  42. package/dist/commands/review.js.map +1 -1
  43. package/dist/commands/stash.d.ts.map +1 -1
  44. package/dist/commands/stash.js +164 -94
  45. package/dist/commands/stash.js.map +1 -1
  46. package/dist/commands/test-plan.d.ts.map +1 -1
  47. package/dist/commands/test-plan.js +86 -42
  48. package/dist/commands/test-plan.js.map +1 -1
  49. package/dist/commands/update.d.ts.map +1 -1
  50. package/dist/commands/update.js +9 -3
  51. package/dist/commands/update.js.map +1 -1
  52. package/dist/commands/worktree.d.ts.map +1 -1
  53. package/dist/commands/worktree.js +168 -96
  54. package/dist/commands/worktree.js.map +1 -1
  55. package/dist/prompts.d.ts +62 -0
  56. package/dist/prompts.d.ts.map +1 -0
  57. package/dist/prompts.js +130 -0
  58. package/dist/prompts.js.map +1 -0
  59. package/package.json +3 -2
@@ -1,7 +1,7 @@
1
- import { select, input } from "@inquirer/prompts";
2
1
  import { execSync } from "child_process";
3
2
  import { bold, dim, green, cyan, yellow } from "../colors.js";
4
3
  import { checkGhInstalled } from "../git.js";
4
+ import { selectWithBack, inputWithBack, BACK_VALUE, } from "../prompts.js";
5
5
  function listOpenPrs() {
6
6
  try {
7
7
  const result = execSync("gh pr list --state open --json number,title,headRefName,author,additions,deletions,reviewDecision", { encoding: "utf-8", stdio: ["pipe", "pipe", "ignore"] }).trim();
@@ -30,104 +30,164 @@ export async function reviewCommand(options = {}) {
30
30
  console.log("No open pull requests.");
31
31
  return;
32
32
  }
33
- // Get PR number from flag or prompt
34
- let prNumber;
33
+ let currentStep = "selectPr";
34
+ let prNumber = options.pr ? parseInt(options.pr, 10) : 0;
35
+ let selectedAction = options.action || "";
36
+ // Validate options if provided
35
37
  if (options.pr) {
36
- const prNum = parseInt(options.pr, 10);
37
- const found = prs.find((p) => p.number === prNum);
38
+ const found = prs.find((p) => p.number === prNumber);
38
39
  if (!found) {
39
40
  console.error(`PR #${options.pr} not found in open PRs.`);
40
41
  process.exit(1);
41
42
  }
42
- prNumber = prNum;
43
+ currentStep = "action";
43
44
  }
44
- else {
45
- console.log(`\n${dim("───")} ${bold("Open PRs")} ${dim("───")}\n`);
46
- prNumber = await select({
47
- message: "Select a PR to review:",
48
- choices: prs.map((pr) => ({
49
- value: pr.number,
50
- name: `#${pr.number} ${pr.title} ${dim(`(${pr.author.login} · +${pr.additions}/-${pr.deletions})`)}`,
51
- })),
52
- });
53
- }
54
- const pr = prs.find((p) => p.number === prNumber);
55
- console.log(`\n${dim("───")} ${cyan(`#${pr.number}`)} ${bold(pr.title)} ${dim("───")}\n`);
56
- // Show diff stat
57
- const stat = getPrDiffStat(pr.number);
58
- if (stat) {
59
- console.log(dim(stat));
60
- console.log("");
61
- }
62
- // Get action from flag or prompt
63
- let action;
64
45
  if (options.action) {
65
46
  if (!["checkout", "approve", "comment", "request-changes", "view"].includes(options.action)) {
66
47
  console.error(`Invalid action: ${options.action}. Use: checkout, approve, comment, request-changes, or view`);
67
48
  process.exit(1);
68
49
  }
69
- action = options.action;
70
- }
71
- else {
72
- action = await select({
73
- message: "What would you like to do?",
74
- choices: [
75
- { value: "checkout", name: "Checkout this branch locally" },
76
- { value: "approve", name: "Approve this PR" },
77
- { value: "comment", name: "Leave a comment" },
78
- { value: "request-changes", name: "Request changes" },
79
- { value: "view", name: "Open in browser" },
80
- { value: "done", name: "Done" },
81
- ],
82
- });
50
+ selectedAction = options.action;
51
+ currentStep = "execute";
83
52
  }
84
- switch (action) {
85
- case "checkout":
86
- execSync(`gh pr checkout ${pr.number}`, { stdio: "inherit" });
87
- console.log(green(`✓ Checked out ${pr.headRefName}`));
88
- break;
89
- case "approve": {
90
- const approveBody = options.comment ?? await input({
91
- message: "Approval comment (optional):",
92
- });
93
- const approveFlag = approveBody.trim()
94
- ? `--body ${JSON.stringify(approveBody.trim())}`
95
- : "";
96
- execSync(`gh pr review ${pr.number} --approve ${approveFlag}`, { stdio: "inherit" });
97
- console.log(green(`✓ Approved #${pr.number}`));
98
- break;
99
- }
100
- case "comment": {
101
- const comment = options.comment ?? await input({
102
- message: "Comment:",
103
- validate: (val) => val.trim().length > 0 || "Comment is required",
104
- });
105
- if (!comment.trim()) {
106
- console.error("Comment is required.");
107
- process.exit(1);
53
+ while (currentStep !== "done") {
54
+ switch (currentStep) {
55
+ case "selectPr": {
56
+ console.log(`\n${dim("───")} ${bold("Open PRs")} ${dim("───")}\n`);
57
+ const result = await selectWithBack({
58
+ message: "Select a PR to review:",
59
+ choices: prs.map((p) => ({
60
+ value: p.number,
61
+ name: `#${p.number} ${p.title} ${dim(`(${p.author.login} · +${p.additions}/-${p.deletions})`)}`,
62
+ })),
63
+ showBack: false, // First step
64
+ });
65
+ if (result === BACK_VALUE) {
66
+ // Can't go back from first step
67
+ }
68
+ else {
69
+ prNumber = result;
70
+ currentStep = "action";
71
+ }
72
+ break;
108
73
  }
109
- execSync(`gh pr comment ${pr.number} --body ${JSON.stringify(comment.trim())}`, {
110
- stdio: "inherit",
111
- });
112
- console.log(green("✓ Comment added"));
113
- break;
114
- }
115
- case "request-changes": {
116
- const changesBody = options.comment ?? await input({
117
- message: "Describe requested changes:",
118
- validate: (val) => val.trim().length > 0 || "Description is required",
119
- });
120
- if (!changesBody.trim()) {
121
- console.error("Description is required.");
122
- process.exit(1);
74
+ case "action": {
75
+ const pr = prs.find((p) => p.number === prNumber);
76
+ console.log(`\n${dim("───")} ${cyan(`#${pr.number}`)} ${bold(pr.title)} ${dim("───")}\n`);
77
+ // Show diff stat
78
+ const stat = getPrDiffStat(pr.number);
79
+ if (stat) {
80
+ console.log(dim(stat));
81
+ console.log("");
82
+ }
83
+ if (options.action) {
84
+ currentStep = "execute";
85
+ break;
86
+ }
87
+ const result = await selectWithBack({
88
+ message: "What would you like to do?",
89
+ choices: [
90
+ { value: "checkout", name: "Checkout this branch locally" },
91
+ { value: "approve", name: "Approve this PR" },
92
+ { value: "comment", name: "Leave a comment" },
93
+ { value: "request-changes", name: "Request changes" },
94
+ { value: "view", name: "Open in browser" },
95
+ { value: "done", name: "Done" },
96
+ ],
97
+ showBack: !options.pr,
98
+ });
99
+ if (result === BACK_VALUE) {
100
+ currentStep = "selectPr";
101
+ }
102
+ else if (result === "done") {
103
+ currentStep = "done";
104
+ }
105
+ else {
106
+ selectedAction = result;
107
+ currentStep = "execute";
108
+ }
109
+ break;
110
+ }
111
+ case "execute": {
112
+ const pr = prs.find((p) => p.number === prNumber);
113
+ switch (selectedAction) {
114
+ case "checkout":
115
+ execSync(`gh pr checkout ${pr.number}`, { stdio: "inherit" });
116
+ console.log(green(`✓ Checked out ${pr.headRefName}`));
117
+ currentStep = "done";
118
+ break;
119
+ case "approve": {
120
+ const approveBodyResult = options.comment ?? await inputWithBack({
121
+ message: "Approval comment (optional):",
122
+ showBack: !options.action,
123
+ });
124
+ if (approveBodyResult === BACK_VALUE) {
125
+ currentStep = "action";
126
+ break;
127
+ }
128
+ const approveBody = approveBodyResult;
129
+ const approveFlag = approveBody.trim()
130
+ ? `--body ${JSON.stringify(approveBody.trim())}`
131
+ : "";
132
+ execSync(`gh pr review ${pr.number} --approve ${approveFlag}`, { stdio: "inherit" });
133
+ console.log(green(`✓ Approved #${pr.number}`));
134
+ currentStep = "done";
135
+ break;
136
+ }
137
+ case "comment": {
138
+ const commentResult = options.comment ?? await inputWithBack({
139
+ message: "Comment:",
140
+ validate: (val) => val.trim().length > 0 || "Comment is required",
141
+ showBack: !options.action,
142
+ });
143
+ if (commentResult === BACK_VALUE) {
144
+ currentStep = "action";
145
+ break;
146
+ }
147
+ const comment = commentResult;
148
+ if (!comment.trim()) {
149
+ console.error("Comment is required.");
150
+ process.exit(1);
151
+ }
152
+ execSync(`gh pr comment ${pr.number} --body ${JSON.stringify(comment.trim())}`, {
153
+ stdio: "inherit",
154
+ });
155
+ console.log(green("✓ Comment added"));
156
+ currentStep = "done";
157
+ break;
158
+ }
159
+ case "request-changes": {
160
+ const changesResult = options.comment ?? await inputWithBack({
161
+ message: "Describe requested changes:",
162
+ validate: (val) => val.trim().length > 0 || "Description is required",
163
+ showBack: !options.action,
164
+ });
165
+ if (changesResult === BACK_VALUE) {
166
+ currentStep = "action";
167
+ break;
168
+ }
169
+ const changesBody = changesResult;
170
+ if (!changesBody.trim()) {
171
+ console.error("Description is required.");
172
+ process.exit(1);
173
+ }
174
+ execSync(`gh pr review ${pr.number} --request-changes --body ${JSON.stringify(changesBody.trim())}`, { stdio: "inherit" });
175
+ console.log(yellow(`✓ Requested changes on #${pr.number}`));
176
+ currentStep = "done";
177
+ break;
178
+ }
179
+ case "view":
180
+ execSync(`gh pr view ${pr.number} --web`, { stdio: "inherit" });
181
+ currentStep = "done";
182
+ break;
183
+ default:
184
+ currentStep = "done";
185
+ }
186
+ break;
123
187
  }
124
- execSync(`gh pr review ${pr.number} --request-changes --body ${JSON.stringify(changesBody.trim())}`, { stdio: "inherit" });
125
- console.log(yellow(`✓ Requested changes on #${pr.number}`));
126
- break;
188
+ default:
189
+ currentStep = "done";
127
190
  }
128
- case "view":
129
- execSync(`gh pr view ${pr.number} --web`, { stdio: "inherit" });
130
- break;
131
191
  }
132
192
  }
133
193
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stash.d.ts","sourceRoot":"","sources":["../../src/commands/stash.ts"],"names":[],"mappings":"AAqCA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiI5E"}
1
+ {"version":3,"file":"stash.d.ts","sourceRoot":"","sources":["../../src/commands/stash.ts"],"names":[],"mappings":"AA2CA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyM5E"}
@@ -1,7 +1,8 @@
1
- import { select, input, confirm } from "@inquirer/prompts";
1
+ import { select } from "@inquirer/prompts";
2
2
  import { execSync } from "child_process";
3
3
  import { bold, dim, green, yellow } from "../colors.js";
4
4
  import { getBranch } from "../git.js";
5
+ import { selectWithBack, inputWithBack, confirmWithBack, BACK_VALUE, } from "../prompts.js";
5
6
  function listStashes() {
6
7
  try {
7
8
  const result = execSync("git stash list", { encoding: "utf-8" }).trim();
@@ -44,105 +45,164 @@ export async function stashCommand(options = {}) {
44
45
  }
45
46
  console.log("");
46
47
  }
47
- // Get action from flag or prompt
48
- let action;
48
+ let currentStep = "action";
49
+ let selectedAction = options.action || "";
50
+ let stashTarget;
51
+ let stashMessage = "";
52
+ let includeUntracked = options.includeUntracked ?? true;
53
+ // If action provided via flag, skip to execute
49
54
  if (options.action) {
50
- action = options.action;
55
+ currentStep = "execute";
51
56
  }
52
- else {
53
- const choices = [];
54
- if (dirty) {
55
- choices.push({ value: "save", name: "Save current changes to stash" });
56
- }
57
- if (stashes.length > 0) {
58
- choices.push({ value: "pop", name: "Pop a stash (apply and remove)" });
59
- choices.push({ value: "apply", name: "Apply a stash (keep in list)" });
60
- choices.push({ value: "drop", name: "Drop a stash" });
61
- choices.push({ value: "show", name: "Show stash diff" });
62
- }
63
- if (choices.length === 0) {
64
- console.log("No stashes and no changes to stash.");
65
- return;
66
- }
67
- action = await select({
68
- message: "Action:",
69
- choices,
70
- });
71
- }
72
- switch (action) {
73
- case "save": {
74
- const branch = getBranch();
75
- const defaultMsg = `WIP on ${branch}`;
76
- const message = options.message || (options.yes ? defaultMsg : await input({
77
- message: "Stash message:",
78
- default: defaultMsg,
79
- }));
80
- const includeUntracked = options.includeUntracked !== undefined
81
- ? options.includeUntracked
82
- : (options.yes ? true : await confirm({
83
- message: "Include untracked files?",
84
- default: true,
85
- }));
86
- const untrackedFlag = includeUntracked ? " --include-untracked" : "";
87
- execSync(`git stash push -m ${JSON.stringify(message)}${untrackedFlag}`, {
88
- stdio: "inherit",
89
- });
90
- console.log(green(`✓ Stashed: ${message}`));
91
- break;
92
- }
93
- case "pop":
94
- case "apply": {
95
- let target;
96
- if (options.index !== undefined) {
97
- target = parseInt(options.index, 10);
98
- }
99
- else {
100
- target = await selectStash(stashes, `Select stash to ${action}:`);
101
- }
102
- if (target === undefined)
57
+ while (currentStep !== "done") {
58
+ switch (currentStep) {
59
+ case "action": {
60
+ const choices = [];
61
+ if (dirty) {
62
+ choices.push({ value: "save", name: "Save current changes to stash" });
63
+ }
64
+ if (stashes.length > 0) {
65
+ choices.push({ value: "pop", name: "Pop a stash (apply and remove)" });
66
+ choices.push({ value: "apply", name: "Apply a stash (keep in list)" });
67
+ choices.push({ value: "drop", name: "Drop a stash" });
68
+ choices.push({ value: "show", name: "Show stash diff" });
69
+ }
70
+ if (choices.length === 0) {
71
+ console.log("No stashes and no changes to stash.");
72
+ return;
73
+ }
74
+ const result = await selectWithBack({
75
+ message: "Action:",
76
+ choices,
77
+ showBack: false, // First step
78
+ });
79
+ if (result === BACK_VALUE) {
80
+ // Can't go back from first step
81
+ }
82
+ else {
83
+ selectedAction = result;
84
+ currentStep = "execute";
85
+ }
103
86
  break;
104
- try {
105
- execSync(`git stash ${action} stash@{${target}}`, { stdio: "inherit" });
106
- console.log(green(`✓ ${action === "pop" ? "Popped" : "Applied"} stash@{${target}}`));
107
- }
108
- catch {
109
- console.log(yellow("⚠ Stash could not be applied cleanly. Resolve conflicts manually."));
110
- }
111
- break;
112
- }
113
- case "drop": {
114
- let target;
115
- if (options.index !== undefined) {
116
- target = parseInt(options.index, 10);
117
- }
118
- else {
119
- target = await selectStash(stashes, "Select stash to drop:");
120
87
  }
121
- if (target === undefined)
88
+ case "execute": {
89
+ switch (selectedAction) {
90
+ case "save": {
91
+ const branch = getBranch();
92
+ const defaultMsg = `WIP on ${branch}`;
93
+ if (options.message) {
94
+ stashMessage = options.message;
95
+ }
96
+ else if (options.yes) {
97
+ stashMessage = defaultMsg;
98
+ }
99
+ else {
100
+ const msgResult = await inputWithBack({
101
+ message: "Stash message:",
102
+ default: stashMessage || defaultMsg,
103
+ showBack: !options.action,
104
+ });
105
+ if (msgResult === BACK_VALUE) {
106
+ currentStep = "action";
107
+ break;
108
+ }
109
+ stashMessage = msgResult;
110
+ }
111
+ if (options.includeUntracked === undefined && !options.yes) {
112
+ const untrackedResult = await confirmWithBack({
113
+ message: "Include untracked files?",
114
+ default: includeUntracked,
115
+ showBack: true,
116
+ });
117
+ if (untrackedResult === BACK_VALUE) {
118
+ // Stay on execute to re-prompt message
119
+ break;
120
+ }
121
+ includeUntracked = untrackedResult === true;
122
+ }
123
+ const untrackedFlag = includeUntracked ? " --include-untracked" : "";
124
+ execSync(`git stash push -m ${JSON.stringify(stashMessage)}${untrackedFlag}`, {
125
+ stdio: "inherit",
126
+ });
127
+ console.log(green(`✓ Stashed: ${stashMessage}`));
128
+ currentStep = "done";
129
+ break;
130
+ }
131
+ case "pop":
132
+ case "apply": {
133
+ if (options.index !== undefined) {
134
+ stashTarget = parseInt(options.index, 10);
135
+ }
136
+ else {
137
+ const target = await selectStashWithBack(stashes, `Select stash to ${selectedAction}:`, !options.action);
138
+ if (target === BACK_VALUE) {
139
+ currentStep = "action";
140
+ break;
141
+ }
142
+ stashTarget = target;
143
+ }
144
+ try {
145
+ execSync(`git stash ${selectedAction} stash@{${stashTarget}}`, { stdio: "inherit" });
146
+ console.log(green(`✓ ${selectedAction === "pop" ? "Popped" : "Applied"} stash@{${stashTarget}}`));
147
+ }
148
+ catch {
149
+ console.log(yellow("⚠ Stash could not be applied cleanly. Resolve conflicts manually."));
150
+ }
151
+ currentStep = "done";
152
+ break;
153
+ }
154
+ case "drop": {
155
+ if (options.index !== undefined) {
156
+ stashTarget = parseInt(options.index, 10);
157
+ }
158
+ else {
159
+ const target = await selectStashWithBack(stashes, "Select stash to drop:", !options.action);
160
+ if (target === BACK_VALUE) {
161
+ currentStep = "action";
162
+ break;
163
+ }
164
+ stashTarget = target;
165
+ }
166
+ const confirmed = options.yes || await confirmWithBack({
167
+ message: `Drop stash@{${stashTarget}}? This cannot be undone.`,
168
+ default: false,
169
+ showBack: true,
170
+ });
171
+ if (confirmed === BACK_VALUE) {
172
+ currentStep = "action";
173
+ break;
174
+ }
175
+ if (confirmed === true) {
176
+ execSync(`git stash drop stash@{${stashTarget}}`, { stdio: "ignore" });
177
+ console.log(green(`✓ Dropped stash@{${stashTarget}}`));
178
+ }
179
+ currentStep = "done";
180
+ break;
181
+ }
182
+ case "show": {
183
+ if (options.index !== undefined) {
184
+ stashTarget = parseInt(options.index, 10);
185
+ }
186
+ else {
187
+ const target = await selectStashWithBack(stashes, "Select stash to show:", !options.action);
188
+ if (target === BACK_VALUE) {
189
+ currentStep = "action";
190
+ break;
191
+ }
192
+ stashTarget = target;
193
+ }
194
+ const diff = execSync(`git stash show -p stash@{${stashTarget}}`, { encoding: "utf-8" });
195
+ console.log(diff);
196
+ currentStep = "done";
197
+ break;
198
+ }
199
+ default:
200
+ currentStep = "done";
201
+ }
122
202
  break;
123
- const confirmed = options.yes || await confirm({
124
- message: `Drop stash@{${target}}? This cannot be undone.`,
125
- default: false,
126
- });
127
- if (confirmed) {
128
- execSync(`git stash drop stash@{${target}}`, { stdio: "ignore" });
129
- console.log(green(`✓ Dropped stash@{${target}}`));
130
203
  }
131
- break;
132
- }
133
- case "show": {
134
- let target;
135
- if (options.index !== undefined) {
136
- target = parseInt(options.index, 10);
137
- }
138
- else {
139
- target = await selectStash(stashes, "Select stash to show:");
140
- }
141
- if (target === undefined)
142
- break;
143
- const diff = execSync(`git stash show -p stash@{${target}}`, { encoding: "utf-8" });
144
- console.log(diff);
145
- break;
204
+ default:
205
+ currentStep = "done";
146
206
  }
147
207
  }
148
208
  }
@@ -163,4 +223,14 @@ async function selectStash(stashes, message) {
163
223
  })),
164
224
  });
165
225
  }
226
+ async function selectStashWithBack(stashes, message, showBack) {
227
+ return selectWithBack({
228
+ message,
229
+ choices: stashes.map((s) => ({
230
+ value: s.index,
231
+ name: `${dim(`[${s.index}]`)} ${s.message} ${s.branch ? dim(`(${s.branch})`) : ""}`,
232
+ })),
233
+ showBack,
234
+ });
235
+ }
166
236
  //# sourceMappingURL=stash.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stash.js","sourceRoot":"","sources":["../../src/commands/stash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stash.js","sourceRoot":"","sources":["../../src/commands/stash.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test-plan.d.ts","sourceRoot":"","sources":["../../src/commands/test-plan.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,eAAe,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiGlF"}
1
+ {"version":3,"file":"test-plan.d.ts","sourceRoot":"","sources":["../../src/commands/test-plan.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,eAAe,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6IlF"}