From 4c421139f2236662066cbefca412a623934a4390 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Thu, 31 Oct 2019 17:02:48 -0700 Subject: [PATCH] Fix command navigation not working after scroll Fixes #83798 --- .../terminal/browser/addons/commandTrackerAddon.ts | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/vs/workbench/contrib/terminal/browser/addons/commandTrackerAddon.ts b/src/vs/workbench/contrib/terminal/browser/addons/commandTrackerAddon.ts index 1911f12ef4c..a0b892a1fc0 100644 --- a/src/vs/workbench/contrib/terminal/browser/addons/commandTrackerAddon.ts +++ b/src/vs/workbench/contrib/terminal/browser/addons/commandTrackerAddon.ts @@ -70,11 +70,8 @@ export class CommandTrackerAddon implements ICommandTracker, ITerminalAddon { // The user has scrolled, find the line based on the current scroll position. This only // works when not retaining selection const markersBelowViewport = this._terminal.markers.filter(e => e.line >= viewportY).length; - if (markersBelowViewport === 0) { - markerIndex = -1; - } else { - markerIndex = this._terminal.markers.length - markersBelowViewport - 1; - } + // -1 will scroll to the top + markerIndex = this._terminal.markers.length - markersBelowViewport - 1; } else if (this._currentMarker === Boundary.Bottom) { markerIndex = this._terminal.markers.length - 1; } else if (this._currentMarker === Boundary.Top) { @@ -112,11 +109,8 @@ export class CommandTrackerAddon implements ICommandTracker, ITerminalAddon { // The user has scrolled, find the line based on the current scroll position. This only // works when not retaining selection const markersAboveViewport = this._terminal.markers.filter(e => e.line <= viewportY).length; - if (markersAboveViewport < this._terminal.markers.length) { - markerIndex = markersAboveViewport; - } else { - markerIndex = this._terminal.markers.length; - } + // markers.length will scroll to the bottom + markerIndex = markersAboveViewport; } else if (this._currentMarker === Boundary.Bottom) { markerIndex = this._terminal.markers.length; } else if (this._currentMarker === Boundary.Top) { -- GitLab