From b87d73622b0151e849bd4534006269573adef1a1 Mon Sep 17 00:00:00 2001 From: Sean Kelly Date: Mon, 23 Jul 2018 22:50:05 -0700 Subject: [PATCH] Revert "Cache mode so that calls to setContext is minimized" --- extension.ts | 14 +++----------- src/mode/modeHandler.ts | 24 +++++++----------------- 2 files changed, 10 insertions(+), 28 deletions(-) diff --git a/extension.ts b/extension.ts index 46e94942894..082598d1425 100644 --- a/extension.ts +++ b/extension.ts @@ -58,11 +58,7 @@ export async function getAndUpdateModeHandler(): Promise { } } else { previousActiveEditorId = activeEditorId; - await curHandler.updateView(curHandler.vimState, { - drawSelection: false, - revealRange: false, - forceSetContext: false, - }); + await curHandler.updateView(curHandler.vimState, { drawSelection: false, revealRange: false }); } if (prevHandler && curHandler.vimState.focusChanged) { @@ -242,7 +238,7 @@ export async function activate(context: vscode.ExtensionContext) { // Initialize mode handler for current active Text Editor at startup. if (vscode.window.activeTextEditor) { let mh = await getAndUpdateModeHandler(); - mh.updateView(mh.vimState, { drawSelection: false, revealRange: false, forceSetContext: true }); + mh.updateView(mh.vimState, { drawSelection: false, revealRange: false }); } // This is called last because getAndUpdateModeHandler() will change cursor @@ -341,11 +337,7 @@ async function handleActiveEditorChange(): Promise { if (vscode.window.activeTextEditor !== undefined) { const mh = await getAndUpdateModeHandler(); - mh.updateView(mh.vimState, { - drawSelection: false, - revealRange: false, - forceSetContext: true, - }); + mh.updateView(mh.vimState, { drawSelection: false, revealRange: false }); } }); } diff --git a/src/mode/modeHandler.ts b/src/mode/modeHandler.ts index 6ca5d961ae8..3debfb95f93 100644 --- a/src/mode/modeHandler.ts +++ b/src/mode/modeHandler.ts @@ -36,7 +36,6 @@ export class ModeHandler implements vscode.Disposable { private _disposables: vscode.Disposable[] = []; private _modes: Mode[]; private _remappers: Remappers; - private _prevMode: ModeName; public vimState: VimState; @@ -257,11 +256,7 @@ export class ModeHandler implements vscode.Disposable { } } - await this.updateView(this.vimState, { - drawSelection: toDraw, - revealRange: true, - forceSetContext: false, - }); + await this.updateView(this.vimState, { drawSelection: toDraw, revealRange: true }); } } @@ -1184,10 +1179,9 @@ export class ModeHandler implements vscode.Disposable { public async updateView( vimState: VimState, - args: { drawSelection: boolean; revealRange: boolean; forceSetContext: boolean } = { + args: { drawSelection: boolean; revealRange: boolean } = { drawSelection: true, revealRange: true, - forceSetContext: false, } ): Promise { // Draw selection (or cursor) @@ -1402,15 +1396,11 @@ export class ModeHandler implements vscode.Disposable { this._renderStatusBar(); - // Only update the context if the mode has changed for performance reasons - if (args.forceSetContext || this._prevMode !== this.vimState.currentMode) { - this._prevMode = this.vimState.currentMode; - await vscode.commands.executeCommand( - 'setContext', - 'vim.mode', - ModeName[this.vimState.currentMode] - ); - } + await vscode.commands.executeCommand( + 'setContext', + 'vim.mode', + ModeName[this.vimState.currentMode] + ); } private _renderStatusBar(): void {