@@ -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