Improve display of newlines around error and warning messages.
This commit is contained in:
parent
14f75ced75
commit
07125dca53
5 changed files with 23 additions and 7 deletions
|
@ -89,8 +89,8 @@ tryRun' errnum state (a:as) = do
|
|||
case result of
|
||||
Left err -> do
|
||||
Annex.eval state $ do
|
||||
showEndFail
|
||||
showErr err
|
||||
showEndFail
|
||||
tryRun' (errnum + 1) state as
|
||||
Right (True,state') -> tryRun' errnum state' as
|
||||
Right (False,state') -> tryRun' (errnum + 1) state' as
|
||||
|
|
|
@ -103,7 +103,6 @@ doCommand = start
|
|||
stage a b = b >>= a
|
||||
success = return True
|
||||
failure = do
|
||||
showOutput -- avoid clutter around error message
|
||||
showEndFail
|
||||
return False
|
||||
|
||||
|
|
11
Messages.hs
11
Messages.hs
|
@ -73,16 +73,17 @@ showEndResult b = handle (JSON.end b) $ putStrLn msg
|
|||
| otherwise = "failed"
|
||||
|
||||
showErr :: (Show a) => a -> Annex ()
|
||||
showErr e = liftIO $ do
|
||||
hFlush stdout
|
||||
hPutStrLn stderr $ "git-annex: " ++ show e
|
||||
showErr e = warning' $ "git-annex: " ++ show e
|
||||
|
||||
warning :: String -> Annex ()
|
||||
warning w = do
|
||||
warning w = warning' (indent w)
|
||||
|
||||
warning' :: String -> Annex ()
|
||||
warning' w = do
|
||||
handle q $ putStr "\n"
|
||||
liftIO $ do
|
||||
hFlush stdout
|
||||
hPutStrLn stderr $ indent w
|
||||
hPutStrLn stderr w
|
||||
|
||||
indent :: String -> String
|
||||
indent s = join "\n" $ map (\l -> " " ++ l) $ lines s
|
||||
|
|
6
debian/changelog
vendored
6
debian/changelog
vendored
|
@ -1,3 +1,9 @@
|
|||
git-annex (3.20110903) UNRELEASED; urgency=low
|
||||
|
||||
* Improve display of newlines around error and warning messages.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Tue, 06 Sep 2011 13:45:16 -0400
|
||||
|
||||
git-annex (3.20110902) unstable; urgency=low
|
||||
|
||||
* Set EMAIL when running test suite so that git does not need to be
|
||||
|
|
|
@ -34,3 +34,13 @@ The newline is in the wrong place and confuses the user. It should be printed _a
|
|||
> failed
|
||||
>
|
||||
> --[[Joey]]
|
||||
|
||||
>> Well, I fixed this in all cases except a thrown non-IO error (last
|
||||
>> example aboce), which output is printed by haskell's runtime. I'd
|
||||
>> have to add a second error handler to handle those, and it's not
|
||||
>> clear what it would do. Often an error will occur before anything
|
||||
>> else is printed, and then the current behavior is right; if something
|
||||
>> has been printed it would be nice to have a newline before the error,
|
||||
>> but by the time the error is caught we'd be out of the annex monad
|
||||
>> and not really have any way to know if something has been printed.
|
||||
>> I think my fix is good enough [[done]] --[[Joey]]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue