From e6ff8bfc475de337831df1768c6b51eb5f2fb325 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 18 Nov 2014 00:28:46 -0400 Subject: [PATCH] can't rely on TERM; use hIsTerminalDevice This calls an ioctl, I don't think it's very expensive. --- src/Propellor/Message.hs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Propellor/Message.hs b/src/Propellor/Message.hs index 99e9ba2..23af518 100644 --- a/src/Propellor/Message.hs +++ b/src/Propellor/Message.hs @@ -6,7 +6,6 @@ import System.Console.ANSI import System.IO import System.Log.Logger import "mtl" Control.Monad.Reader -import Data.Maybe import Control.Applicative import Propellor.Types @@ -18,7 +17,7 @@ data MessageHandle | TextMessageHandle mkMessageHandle :: IO MessageHandle -mkMessageHandle = ifM (isJust <$> getEnv "TERM") +mkMessageHandle = ifM (hIsTerminalDevice stdout) ( return ConsoleMessageHandle , return TextMessageHandle )