@@ -829,12 +829,13 @@ export class GitTreeCompareProvider implements TreeDataProvider<Element>, Dispos
829
829
}
830
830
}
831
831
832
- async openFile ( fileEntry ?: FileElement ) {
833
- const diffStatus = this . getDiffStatus ( fileEntry ) ;
834
- if ( ! diffStatus ) {
835
- return ;
832
+ async openFile ( fileEntries : FileElement [ ] ) {
833
+ for ( const fileEntry of fileEntries ) {
834
+ const diffStatus = this . getDiffStatus ( fileEntry ) ;
835
+ if ( diffStatus ) {
836
+ await this . doOpenFile ( diffStatus . dstAbsPath , diffStatus . status ) ;
837
+ }
836
838
}
837
- return this . doOpenFile ( diffStatus . dstAbsPath , diffStatus . status ) ;
838
839
}
839
840
840
841
async doOpenFile ( dstAbsPath : string , status : StatusCode , preview = false ) {
@@ -847,14 +848,16 @@ export class GitTreeCompareProvider implements TreeDataProvider<Element>, Dispos
847
848
return commands . executeCommand ( 'vscode.open' , uri , options ) ;
848
849
}
849
850
850
- async discardChanges ( entry ?: FileElement | FolderElement ) {
851
+ async discardChanges ( entries : ( FileElement | FolderElement ) [ ] ) {
851
852
let statuses : IDiffStatus [ ] = [ ] ;
852
- if ( entry instanceof FolderElement ) {
853
- statuses = [ ...this . iterFiles ( entry . dstAbsPath ) ] ;
854
- } else {
855
- const diffStatus = this . getDiffStatus ( entry ) ;
856
- if ( diffStatus ) {
857
- statuses . push ( diffStatus ) ;
853
+ for ( const entry of entries ) {
854
+ if ( entry instanceof FolderElement ) {
855
+ statuses = statuses . concat ( [ ...this . iterFiles ( entry . dstAbsPath ) ] ) ;
856
+ } else {
857
+ const diffStatus = this . getDiffStatus ( entry ) ;
858
+ if ( diffStatus ) {
859
+ statuses . push ( diffStatus ) ;
860
+ }
858
861
}
859
862
}
860
863
await this . doDiscardChanges ( statuses ) ;
0 commit comments