summaryrefslogtreecommitdiff
path: root/cli/util
diff options
context:
space:
mode:
authorChris Veness <chrisv@movable-type.co.uk>2024-10-26 23:12:40 +0100
committerGitHub <noreply@github.com>2024-10-27 00:12:40 +0200
commit75f00eecb0cf5e0002fe52da94d764fc6cb0e817 (patch)
tree2167342014b3305fb01e48bec952b400cd4774c2 /cli/util
parent793b155cd31bfc79e4aac4447bd250c9a6d31f6b (diff)
fix(cli): Make --watcher CLEAR_SCREEN clear scrollback buffer as well as visible screen (#25997)
The --watch option should clear the screen scrollback buffer as well as the screen itself. On Ubuntu (22.04 Jammy) the 'clear' command generates "\x1B[H\x1B[2J\x1B[3J"; that is: - \E[H - cursor home - \E[2J - clear entire screen - \E[3J - clear entire screen & scrollback buffer. By contrast, Deno defined CLEAR_SCREEN as "\x1B[2J\x1B[1;1H", which fails to clear the scrollback buffer. The "\E[H\E[2J\E[3J" sequence works on MacOS (Sonoma) (using printf); I'm not able to test on Windows. Closes https://github.com/denoland/deno/issues/26514
Diffstat (limited to 'cli/util')
-rw-r--r--cli/util/file_watcher.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/cli/util/file_watcher.rs b/cli/util/file_watcher.rs
index d92d880bc..8d734af88 100644
--- a/cli/util/file_watcher.rs
+++ b/cli/util/file_watcher.rs
@@ -30,7 +30,7 @@ use tokio::sync::mpsc;
use tokio::sync::mpsc::UnboundedReceiver;
use tokio::time::sleep;
-const CLEAR_SCREEN: &str = "\x1B[2J\x1B[1;1H";
+const CLEAR_SCREEN: &str = "\x1B[H\x1B[2J\x1B[3J";
const DEBOUNCE_INTERVAL: Duration = Duration::from_millis(200);
struct DebouncedReceiver {