From 0bbd8f0a163cd9dddd1286fd218c0d6e654bd668 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Tue, 7 Mar 2017 14:01:29 -0800 Subject: [PATCH] Implement CSI 3 J - Erase saved lines Fixes #587 --- src/InputHandler.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/InputHandler.ts b/src/InputHandler.ts index 37f41f34..a7023083 100644 --- a/src/InputHandler.ts +++ b/src/InputHandler.ts @@ -385,7 +385,13 @@ export class InputHandler implements IInputHandler { while (j--) this._terminal.eraseLine(j); break; case 3: - ; // no saved lines + // Clear scrollback (everything not in viewport) + const scrollBackSize = this._terminal.lines.length - this._terminal.rows; + if (scrollBackSize > 0) { + this._terminal.lines.trimStart(scrollBackSize); + this._terminal.ybase = Math.max(this._terminal.ybase - scrollBackSize, 0); + this._terminal.ydisp = Math.max(this._terminal.ydisp - scrollBackSize, 0); + } break; } }