From 07acfd7e794024103f1d956a96b3ff84d76d41c4 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Wed, 18 Apr 2018 09:18:17 -0700 Subject: [PATCH] Improve terminal clear command to work with multi-line prompts Fixes #48146 --- .../parts/terminal/electron-browser/terminalInstance.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts b/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts index 9db5b91c7d3..b81c277f4c3 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts @@ -567,7 +567,13 @@ export class TerminalInstance implements ITerminalInstance { } public clear(): void { - this._xterm.clear(); + if (paths.basename(this._shellLaunchConfig.executable).match(/zsh|bash/)) { + // If a supported shell is being used, clear xterm scrollback then clear shell (^L) + this._xterm.write('\x1b[3J'); + this._processManager.write('\x0c'); + } else { + this._xterm.clear(); + } } private _refreshSelectionContextKey() { -- GitLab