git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
C++: fix updates from 0.9.x
5de3e4eAndy Arvanitis
pcc/Main.hs+6−2
@@ -25,6 +25,7 @@ import Control.Monad
25import Control.Monad.Writer.Strict
25import Control.Monad.Writer.Strict
26
26
27import qualified Data.Aeson as A
27import qualified Data.Aeson as A
28+import Data.Bool (bool)
28import qualified Data.ByteString.Lazy as B
29import qualified Data.ByteString.Lazy as B
29import qualified Data.ByteString.UTF8 as BU8
30import qualified Data.ByteString.UTF8 as BU8
30import qualified Data.Map as M
31import qualified Data.Map as M
@@ -37,6 +38,7 @@ import Options.Applicative as Opts
37
38
38import qualified Paths_purescript as Paths
39import qualified Paths_purescript as Paths
39
40
41+import qualified System.Console.ANSI as ANSI
40import System.Exit (exitSuccess, exitFailure)
42import System.Exit (exitSuccess, exitFailure)
41import System.FilePath.Glob (glob)
43import System.FilePath.Glob (glob)
42import System.IO (hSetEncoding, hPutStrLn, stdout, stderr, utf8)
44import System.IO (hSetEncoding, hPutStrLn, stdout, stderr, utf8)
@@ -56,11 +58,13 @@ data PCCMakeOptions = PCCMakeOptions
56-- | Argumnets: verbose, use JSON, warnings, errors
58-- | Argumnets: verbose, use JSON, warnings, errors
57printWarningsAndErrors :: Bool -> Bool -> P.MultipleErrors -> Either P.MultipleErrors a -> IO ()
59printWarningsAndErrors :: Bool -> Bool -> P.MultipleErrors -> Either P.MultipleErrors a -> IO ()
58printWarningsAndErrors verbose False warnings errors = do
60printWarningsAndErrors verbose False warnings errors = do
61+ cc <- bool Nothing (Just P.defaultCodeColor) <$> ANSI.hSupportsANSI stderr
62+ let ppeOpts = P.defaultPPEOptions { P.ppeCodeColor = cc, P.ppeFull = verbose }
59 when (P.nonEmpty warnings) $
63 when (P.nonEmpty warnings) $
60− hPutStrLn stderr (P.prettyPrintMultipleWarnings verbose warnings)
64+ hPutStrLn stderr (P.prettyPrintMultipleWarnings ppeOpts warnings)
61 case errors of
65 case errors of
62 Left errs -> do
66 Left errs -> do
63− hPutStrLn stderr (P.prettyPrintMultipleErrors verbose errs)
67+ hPutStrLn stderr (P.prettyPrintMultipleErrors ppeOpts errs)
64 exitFailure
68 exitFailure
65 Right _ -> return ()
69 Right _ -> return ()
66printWarningsAndErrors verbose True warnings errors = do
70printWarningsAndErrors verbose True warnings errors = do
purescript.cabal+1
@@ -491,6 +491,7 @@ executable pcc
491 build-depends: base >=4 && <5,
491 build-depends: base >=4 && <5,
492 purescript -any,
492 purescript -any,
493 aeson >= 0.8 && < 0.12,
493 aeson >= 0.8 && < 0.12,
494+ ansi-terminal >= 0.6.2 && < 0.7,
494 base-compat >=0.6.0,
495 base-compat >=0.6.0,
495 bytestring -any,
496 bytestring -any,
496 containers -any,
497 containers -any,