@@ -33,11 +33,13 @@ interface Context {
3333}
3434
3535type Flags = '--edit' | '--no-edit' ;
36+ type RevertOptions = { edit ?: boolean } ;
3637
3738interface State < Refs = GitRevisionReference | GitRevisionReference [ ] > {
3839 repo : string | Repository ;
3940 references : Refs ;
4041 flags : Flags [ ] ;
42+ options : RevertOptions ;
4143}
4244
4345export interface RevertGitCommandArgs {
@@ -79,7 +81,7 @@ export class RevertGitCommand extends QuickCommand<State> {
7981 async execute ( state : RevertStepState < State < GitRevisionReference [ ] > > ) {
8082 for ( const ref of state . references . reverse ( ) ) {
8183 try {
82- await state . repo . git . revert ( ref . ref , state . flags ) ;
84+ await state . repo . git . revert ( ref . ref , state . options ) ;
8385 } catch ( ex ) {
8486 if ( ex instanceof RevertError ) {
8587 let shouldRetry = false ;
@@ -196,7 +198,7 @@ export class RevertGitCommand extends QuickCommand<State> {
196198 const result = yield * this . confirmStep ( state as RevertStepState , context ) ;
197199 if ( result === StepResultBreak ) continue ;
198200
199- state . flags = result ;
201+ state . options = Object . assign ( { } , ... result ) ;
200202
201203 endSteps ( state ) ;
202204 await this . execute ( state as RevertStepState < State < GitRevisionReference [ ] > > ) ;
@@ -205,22 +207,24 @@ export class RevertGitCommand extends QuickCommand<State> {
205207 return state . counter < 0 ? StepResultBreak : undefined ;
206208 }
207209
208- private * confirmStep ( state : RevertStepState , context : Context ) : StepResultGenerator < Flags [ ] > {
209- const step : QuickPickStep < FlagsQuickPickItem < Flags > > = this . createConfirmStep (
210+ private * confirmStep ( state : RevertStepState , context : Context ) : StepResultGenerator < RevertOptions [ ] > {
211+ const optionsArr : RevertOptions [ ] = [ ] ;
212+ const step : QuickPickStep < FlagsQuickPickItem < RevertOptions > > = this . createConfirmStep (
210213 appendReposToTitle ( `Confirm ${ context . title } ` , state , context ) ,
211214 [
212- createFlagsQuickPickItem < Flags > ( state . flags , [ '--no- edit' ] , {
215+ createFlagsQuickPickItem < RevertOptions > ( optionsArr , [ { edit : false } ] , {
213216 label : this . title ,
214217 description : '--no-edit' ,
215218 detail : `Will revert ${ getReferenceLabel ( state . references ) } ` ,
216219 } ) ,
217- createFlagsQuickPickItem < Flags > ( state . flags , [ '-- edit' ] , {
220+ createFlagsQuickPickItem < RevertOptions > ( optionsArr , [ { edit : true } ] , {
218221 label : `${ this . title } & Edit` ,
219222 description : '--edit' ,
220223 detail : `Will revert and edit ${ getReferenceLabel ( state . references ) } ` ,
221224 } ) ,
222225 ] ,
223226 ) ;
227+ state . options = Object . assign ( { } , ...optionsArr ) ;
224228 const selection : StepSelection < typeof step > = yield step ;
225229 return canPickStepContinue ( step , state , selection ) ? selection [ 0 ] . item : StepResultBreak ;
226230 }
0 commit comments