@@ -261,27 +261,20 @@ export default class CodeFormatManager {
261
261
}
262
262
}
263
263
264
- _formatCodeOnSaveInTextEditor ( editor : TextEditor ) : Observable < TextEdit > {
264
+ async _formatCodeOnSaveInTextEditor ( editor : TextEditor ) : Promise < TextEdit [ ] > {
265
265
const saveProviders = [ ...this . _onSaveProviders . getAllProvidersForEditor ( editor ) ]
266
266
if ( saveProviders . length > 0 ) {
267
- return Observable . defer ( ( ) =>
268
- this . _reportBusy ( editor , Promise . all ( saveProviders . map ( ( p ) => p . formatOnSave ( editor ) ) ) , false )
267
+ const allEdits = await this . _reportBusy (
268
+ editor ,
269
+ Promise . all ( saveProviders . map ( ( p ) => p . formatOnSave ( editor ) ) ) ,
270
+ false
269
271
)
270
- . switchMap ( ( allEdits ) => {
271
- const firstNonEmpty = allEdits . find ( ( edits ) => edits . length > 0 )
272
- if ( firstNonEmpty == null ) {
273
- return Observable . empty ( )
274
- } else {
275
- return Observable . of ( firstNonEmpty )
276
- }
277
- } )
278
- . flatMap ( ( edits ) => Observable . of ( ...edits ) )
272
+ const edits = allEdits . filter ( ( edits ) => edits . length > 0 )
273
+ return edits . flat ( )
279
274
} else if ( getFormatOnSave ( editor ) ) {
280
- return this . _formatCodeInTextEditor ( editor , editor . getBuffer ( ) . getRange ( ) ) . flatMap ( ( edits ) =>
281
- Observable . of ( ...edits )
282
- )
275
+ return this . _formatCodeInTextEditor ( editor , editor . getBuffer ( ) . getRange ( ) )
283
276
}
284
- return Observable . empty ( )
277
+ return [ ]
285
278
}
286
279
287
280
_reportBusy < T > ( editor : TextEditor , promise : Promise < T > , revealTooltip : boolean = true ) : Promise < T > {
0 commit comments