@@ -52,38 +52,38 @@ function getExtensionLogContent(): string | undefined {
52
52
}
53
53
54
54
async function deleteFiles ( dir : vscode . Uri , keepDirs : vscode . Uri [ ] , pred ?: ( fileType : string ) => boolean ) {
55
- if ( keepDirs . includes ( dir ) ) {
55
+ if ( keepDirs . findIndex ( ( val ) => val . path === dir . path ) !== - 1 ) {
56
56
console . log ( `Keeping ${ dir } ` ) ;
57
- return ;
58
- } ;
59
- const dirContents = await vscode . workspace . fs . readDirectory ( dir ) ;
60
- console . log ( `Deleting ${ dir } contents: ${ dirContents } ` ) ;
61
- dirContents . forEach ( async ( [ name , type ] ) => {
62
- const uri : vscode . Uri = joinUri ( dir , name ) ;
63
- if ( type === vscode . FileType . File ) {
64
- if ( ! pred || pred ( name ) ) {
65
- console . log ( `Deleting ${ uri } ` ) ;
66
- await vscode . workspace . fs . delete ( joinUri ( dir , name ) , {
67
- recursive : false ,
68
- useTrash : false ,
69
- } ) ;
70
- }
71
- } else if ( type === vscode . FileType . Directory ) {
72
- const subDirectory = joinUri ( dir , name ) ;
73
- console . log ( `Recursing into ${ subDirectory } ` ) ;
74
- await deleteFiles ( subDirectory , keepDirs , pred ) ;
75
-
76
- // remove directory if it is empty now
77
- const isEmptyNow = await vscode . workspace . fs . readDirectory ( subDirectory )
78
- . then ( ( contents ) => Promise . resolve ( contents . length === 0 ) ) ;
79
- if ( isEmptyNow ) {
80
- await vscode . workspace . fs . delete ( subDirectory , {
81
- recursive : false ,
82
- useTrash : false ,
83
- } ) ;
57
+ } else {
58
+ const dirContents = await vscode . workspace . fs . readDirectory ( dir ) ;
59
+ console . log ( `Deleting ${ dir } contents: ${ dirContents } ` ) ;
60
+ dirContents . forEach ( async ( [ name , type ] ) => {
61
+ const uri : vscode . Uri = joinUri ( dir , name ) ;
62
+ if ( type === vscode . FileType . File ) {
63
+ if ( ! pred || pred ( name ) ) {
64
+ console . log ( `Deleting ${ uri } ` ) ;
65
+ await vscode . workspace . fs . delete ( joinUri ( dir , name ) , {
66
+ recursive : false ,
67
+ useTrash : false ,
68
+ } ) ;
69
+ }
70
+ } else if ( type === vscode . FileType . Directory ) {
71
+ const subDirectory = joinUri ( dir , name ) ;
72
+ console . log ( `Recursing into ${ subDirectory } ` ) ;
73
+ await deleteFiles ( subDirectory , keepDirs , pred ) ;
74
+
75
+ // remove directory if it is empty now
76
+ const isEmptyNow = await vscode . workspace . fs . readDirectory ( subDirectory )
77
+ . then ( ( contents ) => Promise . resolve ( contents . length === 0 ) ) ;
78
+ if ( isEmptyNow ) {
79
+ await vscode . workspace . fs . delete ( subDirectory , {
80
+ recursive : false ,
81
+ useTrash : false ,
82
+ } ) ;
83
+ }
84
84
}
85
- }
86
- } ) ;
85
+ } ) ;
86
+ }
87
87
}
88
88
89
89
0 commit comments