@@ -445,7 +445,6 @@ export class OutlinePanel extends ViewletPanel {
445445 private async _doUpdate ( editor : ICodeEditor | undefined , event : IModelContentChangedEvent | undefined ) : Promise < void > {
446446 this . _editorDisposables . clear ( ) ;
447447
448- this . _progressBar . infinite ( ) . show ( 150 ) ;
449448
450449 const oldModel = this . _tree . getInput ( ) ;
451450
@@ -458,16 +457,16 @@ export class OutlinePanel extends ViewletPanel {
458457 return this . _showMessage ( localize ( 'no-editor' , "The active editor cannot provide outline information." ) ) ;
459458 }
460459
461- let textModel = editor . getModel ( ) ;
462- let loadingMessage : IDisposable | undefined ;
463- if ( ! oldModel ) {
464- loadingMessage = new TimeoutTimer (
465- ( ) => this . _showMessage ( localize ( 'loading' , "Loading document symbols for '{0}'..." , basename ( textModel . uri ) ) ) ,
466- 100
467- ) ;
468- }
460+ const textModel = editor . getModel ( ) ;
461+ const loadingMessage = oldModel && new TimeoutTimer (
462+ ( ) => this . _showMessage ( localize ( 'loading' , "Loading document symbols for '{0}'..." , basename ( textModel . uri ) ) ) ,
463+ 100
464+ ) ;
465+
466+ const requestDelay = OutlineModel . getRequestDelay ( textModel ) ;
467+ this . _progressBar . infinite ( ) . show ( requestDelay ) ;
469468
470- let createdModel = await OutlinePanel . _createOutlineModel ( textModel , this . _editorDisposables ) ;
469+ const createdModel = await OutlinePanel . _createOutlineModel ( textModel , this . _editorDisposables ) ;
471470 dispose ( loadingMessage ) ;
472471 if ( ! createdModel ) {
473472 return ;
@@ -517,7 +516,7 @@ export class OutlinePanel extends ViewletPanel {
517516 newModel = oldModel ;
518517 } else {
519518 let state = this . _treeStates . get ( newModel . textModel . uri . toString ( ) ) ;
520- await this . _tree . setInput ( newModel , state ) ;
519+ this . _tree . setInput ( newModel , state ) ;
521520 }
522521
523522 // transfer focus from domNode to the tree
0 commit comments