[commit: ghc] wip/nfs-locking: Actions: Factor out box drawing (9d2868b)
git at git.haskell.org
git at git.haskell.org
Thu Oct 26 23:43:08 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/nfs-locking
Link : http://ghc.haskell.org/trac/ghc/changeset/9d2868b107cce0af8445ec6ce8471ba1d45e3042/ghc
>---------------------------------------------------------------
commit 9d2868b107cce0af8445ec6ce8471ba1d45e3042
Author: Ben Gamari <ben at smart-cactus.org>
Date: Sun Dec 20 17:21:47 2015 +0100
Actions: Factor out box drawing
Also add (currently broken) Unicode support although this is broken by
Shake, the console output interface of which is badly broken (see
Shake #364)
>---------------------------------------------------------------
9d2868b107cce0af8445ec6ce8471ba1d45e3042
src/Rules/Actions.hs | 25 ++++++++++++++++++++-----
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/src/Rules/Actions.hs b/src/Rules/Actions.hs
index 805c771..775524a 100644
--- a/src/Rules/Actions.hs
+++ b/src/Rules/Actions.hs
@@ -7,6 +7,22 @@ import Settings.Args
import Settings.Builders.Ar
import qualified Target
+insideBox :: [String] -> String
+insideBox ls =
+ unlines $ [begin] ++ map (bar++) ls ++ [end]
+ where
+ (begin,bar,end)
+ | useUnicode = ( "╭──────────"
+ , "│ "
+ , "╰──────────"
+ )
+ | otherwise = ( "/----------"
+ , "| "
+ , "\\----------"
+ )
+ -- FIXME: See Shake #364.
+ useUnicode = False
+
-- Build a given target using an appropriate builder and acquiring necessary
-- resources. Force a rebuilt if the argument list has changed since the last
-- built (that is, track changes in the build system).
@@ -17,15 +33,14 @@ buildWithResources rs target = do
path <- builderPath builder
argList <- interpret target getArgs
verbose <- interpret target verboseCommands
- let quitelyUnlessVerbose = if verbose then withVerbosity Loud else quietly
+ let quietlyUnlessVerbose = if verbose then withVerbosity Loud else quietly
-- The line below forces the rule to be rerun if the args hash has changed
checkArgsHash target
withResources rs $ do
unless verbose $ do
- putBuild $ "/--------\n| Running " ++ show builder ++ " with arguments:"
- mapM_ (putBuild . ("| " ++)) $ interestingInfo builder argList
- putBuild $ "\\--------"
- quitelyUnlessVerbose $ case builder of
+ putBuild $ insideBox $ [ "Running " ++ show builder ++ " with arguments:" ]
+ ++ map (" "++) (interestingInfo builder argList)
+ quietlyUnlessVerbose $ case builder of
Ar -> arCmd path argList
HsCpp -> do
More information about the ghc-commits
mailing list