From ccea33df6262e82503942dfdbe45e7baade89caa Mon Sep 17 00:00:00 2001 From: Salman Aljammaz Date: Sat, 5 Sep 2015 18:03:46 +0300 Subject: repl: don't use tty control codes when $TERM is set to "dumb" This change stops the REPL from using ANSI control codes for colours when the TERM environment variable is set to "dumb". "dumb" is the terminal type with the smallest set of capabilities as described by terminfo. See: http://invisible-island.net/ncurses/terminfo.ti.html#toc-_Specials Related: https://github.com/nodejs/node-v0.x-archive/issues/5344 Related: https://github.com/nodejs/node-v0.x-archive/pull/25506 Reviewed-By: Jeremiah Senkpiel Reviewed-By: Roman Reiss PR-URL: https://github.com/nodejs/node/pull/2712 --- lib/internal/repl.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib/internal/repl.js') diff --git a/lib/internal/repl.js b/lib/internal/repl.js index b2c74e179c..c1beb85cef 100644 --- a/lib/internal/repl.js +++ b/lib/internal/repl.js @@ -34,7 +34,10 @@ function createRepl(env, opts, cb) { if (parseInt(env.NODE_NO_READLINE)) { opts.terminal = false; } - if (parseInt(env.NODE_DISABLE_COLORS)) { + // the "dumb" special terminal, as defined by terminfo, doesn't support + // ANSI colour control codes. + // see http://invisible-island.net/ncurses/terminfo.ti.html#toc-_Specials + if (parseInt(env.NODE_DISABLE_COLORS) || env.TERM === 'dumb') { opts.useColors = false; } -- cgit v1.2.3