Skip to content

Commit 6c3b8d5

Browse files
committed
Cleanup remove command
1 parent 6536bca commit 6c3b8d5

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

src/command/remove/cmd.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,9 @@ export const removeCommand = new Command()
8080
// Show a list
8181
if (extensions.length > 0) {
8282
const extensionsToRemove = await selectExtensions(extensions);
83-
await removeExtensions(extensionsToRemove);
83+
if (extensionsToRemove.length > 0) {
84+
await removeExtensions(extensionsToRemove);
85+
}
8486
} else {
8587
info("No extensions installed.");
8688
}
@@ -144,6 +146,7 @@ function removeExtensions(extensions: Extension[]) {
144146
);
145147
};
146148

149+
info("");
147150
if (extensions.length === 1) {
148151
return removeOneExtension(extensions[0]);
149152
} else {
@@ -170,19 +173,23 @@ async function selectExtensions(extensions: Extension[]) {
170173
}
171174
});
172175

173-
const extsToRemove: string[] = await Checkbox.prompt({
174-
message: "Select extension(s) to remove",
176+
const extsToKeep: string[] = await Checkbox.prompt({
177+
message: "Select extension(s) to keep",
175178
options: sorted.map((ext) => {
176179
return {
177180
name: `${ext.title}${
178181
ext.id.organization ? " (" + ext.id.organization + ")" : ""
179182
}`,
180183
value: extensionIdString(ext.id),
184+
checked: true,
181185
};
182186
}),
187+
hint:
188+
"Use the arrow keys and spacebar to specify extensions you'd like to remove.\n" +
189+
" Press Enter to confirm the list of accounts you wish to remain available.",
183190
});
184191

185192
return extensions.filter((extension) => {
186-
return extsToRemove.includes(extensionIdString(extension.id));
193+
return !extsToKeep.includes(extensionIdString(extension.id));
187194
});
188195
}

0 commit comments

Comments
 (0)