Skip to content

Commit bcaa2be

Browse files
committed
outline progress bar delay is average respone time, some minor polish, fixes microsoft#63400
1 parent a6ac3e5 commit bcaa2be

1 file changed

Lines changed: 10 additions & 11 deletions

File tree

src/vs/workbench/contrib/outline/browser/outlinePanel.ts

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)