summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfrozolotl <44589151+frozolotl@users.noreply.github.com>2024-02-08 10:29:36 +0100
committerGitHub <noreply@github.com>2024-02-08 09:29:36 +0000
commite2e8159bb2f8522343164342a469ad909c66028d (patch)
tree777fde43a187e7c2dcc76fcb08cad10aae3ac283
parent9f69709a2a554c3a1555b3069ec878ceac62993f (diff)
Do not enter alternate screen if colors are disabled (#3366)
-rw-r--r--crates/typst-cli/src/terminal.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/crates/typst-cli/src/terminal.rs b/crates/typst-cli/src/terminal.rs
index f0c57b43..ed2b6fe0 100644
--- a/crates/typst-cli/src/terminal.rs
+++ b/crates/typst-cli/src/terminal.rs
@@ -116,7 +116,9 @@ impl TermOut {
/// Enters the alternate screen if none was opened already.
pub fn enter_alternate_screen(&mut self) -> io::Result<()> {
- if !self.inner.in_alternate_screen.load(Ordering::Acquire) {
+ if self.inner.stream.supports_color()
+ && !self.inner.in_alternate_screen.load(Ordering::Acquire)
+ {
let mut stream = self.inner.stream.lock();
write!(stream, "\x1B[?1049h")?;
stream.flush()?;
@@ -127,7 +129,9 @@ impl TermOut {
/// Leaves the alternate screen if it is already open.
pub fn leave_alternate_screen(&mut self) -> io::Result<()> {
- if self.inner.in_alternate_screen.load(Ordering::Acquire) {
+ if self.inner.stream.supports_color()
+ && self.inner.in_alternate_screen.load(Ordering::Acquire)
+ {
let mut stream = self.inner.stream.lock();
write!(stream, "\x1B[?1049l")?;
stream.flush()?;