From 7e393dfa8cb5d5d969ff25e2ea4c869a06f9897c Mon Sep 17 00:00:00 2001 From: Bruno Ribeito Date: Sun, 1 Jul 2018 22:24:51 +0100 Subject: [PATCH] Move logic to helper function --- src/renderer/SelectionRenderLayer.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/renderer/SelectionRenderLayer.ts b/src/renderer/SelectionRenderLayer.ts index 8fbcb75b..97ae67df 100644 --- a/src/renderer/SelectionRenderLayer.ts +++ b/src/renderer/SelectionRenderLayer.ts @@ -42,9 +42,7 @@ export class SelectionRenderLayer extends BaseRenderLayer { public onSelectionChanged(terminal: ITerminal, start: [number, number], end: [number, number], columnSelectMode: boolean): void { // Selection has not changed - if (this._areCoordinatesEqual(start, this._state.start) && - this._areCoordinatesEqual(end, this._state.end) && - columnSelectMode === this._state.columnSelectMode) { + if (!this._didStateChange(start, end, columnSelectMode)) { return; } @@ -99,6 +97,12 @@ export class SelectionRenderLayer extends BaseRenderLayer { this._state.columnSelectMode = columnSelectMode; } + private _didStateChange(start: [number, number], end: [number, number], columnSelectMode: boolean): boolean { + return !this._areCoordinatesEqual(start, this._state.start) || + !this._areCoordinatesEqual(end, this._state.end) || + columnSelectMode !== this._state.columnSelectMode; + } + private _areCoordinatesEqual(coord1: [number, number], coord2: [number, number]): boolean { if (!coord1 || !coord2) { return false;