From 0519493ca936c8e555cfdf9178195418e342ff05 Mon Sep 17 00:00:00 2001 From: hallgren Date: Tue, 28 Oct 2014 19:04:48 +0000 Subject: Use terminfo to highlight warnings and errors in blue and red This replaces the hardwired ANSI escape codes that were accidentally included in a previous patch. This adds a dependency on terminfo, but this should be unproblematic, since haskeline already depends on the same underlying C library. The color highlighting is omitted on Windows. --- src/compiler/GF/CompileOne.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/compiler/GF/CompileOne.hs') diff --git a/src/compiler/GF/CompileOne.hs b/src/compiler/GF/CompileOne.hs index 6aac4011b..0a6572134 100644 --- a/src/compiler/GF/CompileOne.hs +++ b/src/compiler/GF/CompileOne.hs @@ -27,6 +27,7 @@ import GF.System.Directory(doesFileExist,getCurrentDirectory,renameFile) import System.FilePath(makeRelative) import qualified Data.Map as Map import GF.Text.Pretty(render,(<+>),($$)) --Doc, +import GF.System.Console(TermColors(..),getTermColors) import Control.Monad((<=<)) type OneOutput = (Maybe FullPath,CompiledModule) @@ -161,7 +162,8 @@ idump opts pass = intermOut opts (Dump pass) . ppModule Internal warnOut opts warnings | null warnings = done - | otherwise = do ePutStr "\ESC[34m";ePutStr ws;ePutStrLn "\ESC[m" + | otherwise = do t <- getTermColors + ePutStr (blueFg t);ePutStr ws;ePutStrLn (restore t) where ws = if flag optVerbosity opts == Normal then '\n':warnings -- cgit v1.2.3