From 9b92c487598e3a494bd22fc1ac865663e241f745 Mon Sep 17 00:00:00 2001 From: Eric Amodio Date: Mon, 13 Feb 2017 21:19:16 -0500 Subject: [PATCH] Fixes overzealous updating on document changes --- src/blameActiveLineController.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/blameActiveLineController.ts b/src/blameActiveLineController.ts index 559294f..4d0f0a3 100644 --- a/src/blameActiveLineController.ts +++ b/src/blameActiveLineController.ts @@ -23,6 +23,7 @@ export default class BlameActiveLineController extends Disposable { private _currentLine: number = -1; private _disposable: Disposable; private _editor: TextEditor | undefined; + private _editorIsDirty: boolean; private _statusBarItem: StatusBarItem | undefined; private _updateBlameDebounced: (line: number, editor: TextEditor) => Promise; private _uri: GitUri; @@ -153,7 +154,11 @@ export default class BlameActiveLineController extends Disposable { private _onDocumentChanged(e: TextDocumentChangeEvent) { // Make sure this is for the editor we are tracking if (!this._editor || !TextDocumentComparer.equals(e.document, this._editor.document)) return; - this._currentLine = -1; + + const line = this._editor.selections[0].active.line; + if (line === this._currentLine && this._editorIsDirty === this._editor.document.isDirty) return; + this._currentLine = line; + this._editorIsDirty = this._editor.document.isDirty; this._updateBlame(this._editor.selections[0].active.line, this._editor); }