From 598a6d6f37e6e3dc5644d5188564c58311b20a52 Mon Sep 17 00:00:00 2001 From: superjackche Date: Sun, 26 Apr 2026 00:20:11 +0800 Subject: [PATCH] feat(cli): respect NO_COLOR environment variable in REPL banner Add support for the standard NO_COLOR convention (https://no-color.org/) in the REPL banner color detection. When NO_COLOR is set, the banner and all styled output are disabled regardless of TTY capabilities. --- crates/runmat-cli/src/commands/repl.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/runmat-cli/src/commands/repl.rs b/crates/runmat-cli/src/commands/repl.rs index 8091ffafd..b58483ae4 100644 --- a/crates/runmat-cli/src/commands/repl.rs +++ b/crates/runmat-cli/src/commands/repl.rs @@ -139,7 +139,9 @@ fn print_repl_banner(config: &RunMatConfig, engine: &RunMatSession) { } fn detect_banner_capabilities() -> BannerCapabilities { - let decorated = atty::is(atty::Stream::Stdout) + let no_color = std::env::var_os("NO_COLOR").is_some(); + let decorated = !no_color + && atty::is(atty::Stream::Stdout) && std::env::var("TERM") .map(|term| term != "dumb") .unwrap_or(true);