@@ -33,11 +33,13 @@ interface Context {
33
33
}
34
34
35
35
type Flags = '--edit' | '--no-edit' ;
36
+ type RevertOptions = { edit ?: boolean } ;
36
37
37
38
interface State < Refs = GitRevisionReference | GitRevisionReference [ ] > {
38
39
repo : string | Repository ;
39
40
references : Refs ;
40
41
flags : Flags [ ] ;
42
+ options : RevertOptions ;
41
43
}
42
44
43
45
export interface RevertGitCommandArgs {
@@ -79,7 +81,7 @@ export class RevertGitCommand extends QuickCommand<State> {
79
81
async execute ( state : RevertStepState < State < GitRevisionReference [ ] > > ) {
80
82
for ( const ref of state . references . reverse ( ) ) {
81
83
try {
82
- await state . repo . git . revert ( ref . ref , state . flags ) ;
84
+ await state . repo . git . revert ( ref . ref , state . options ) ;
83
85
} catch ( ex ) {
84
86
if ( ex instanceof RevertError ) {
85
87
let shouldRetry = false ;
@@ -196,7 +198,7 @@ export class RevertGitCommand extends QuickCommand<State> {
196
198
const result = yield * this . confirmStep ( state as RevertStepState , context ) ;
197
199
if ( result === StepResultBreak ) continue ;
198
200
199
- state . flags = result ;
201
+ state . options = Object . assign ( { } , ... result ) ;
200
202
201
203
endSteps ( state ) ;
202
204
await this . execute ( state as RevertStepState < State < GitRevisionReference [ ] > > ) ;
@@ -205,22 +207,24 @@ export class RevertGitCommand extends QuickCommand<State> {
205
207
return state . counter < 0 ? StepResultBreak : undefined ;
206
208
}
207
209
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 (
210
213
appendReposToTitle ( `Confirm ${ context . title } ` , state , context ) ,
211
214
[
212
- createFlagsQuickPickItem < Flags > ( state . flags , [ '--no- edit' ] , {
215
+ createFlagsQuickPickItem < RevertOptions > ( optionsArr , [ { edit : false } ] , {
213
216
label : this . title ,
214
217
description : '--no-edit' ,
215
218
detail : `Will revert ${ getReferenceLabel ( state . references ) } ` ,
216
219
} ) ,
217
- createFlagsQuickPickItem < Flags > ( state . flags , [ '-- edit' ] , {
220
+ createFlagsQuickPickItem < RevertOptions > ( optionsArr , [ { edit : true } ] , {
218
221
label : `${ this . title } & Edit` ,
219
222
description : '--edit' ,
220
223
detail : `Will revert and edit ${ getReferenceLabel ( state . references ) } ` ,
221
224
} ) ,
222
225
] ,
223
226
) ;
227
+ state . options = Object . assign ( { } , ...optionsArr ) ;
224
228
const selection : StepSelection < typeof step > = yield step ;
225
229
return canPickStepContinue ( step , state , selection ) ? selection [ 0 ] . item : StepResultBreak ;
226
230
}
0 commit comments