@@ -423,7 +423,7 @@ topHandlerWith cont prog = do
423
423
handle se = do
424
424
hFlush stdout
425
425
pname <- getProgName
426
- hPutStr stderr (message pname se)
426
+ putErr (message pname se)
427
427
cont se
428
428
429
429
message :: String -> Exception. SomeException -> String
@@ -457,11 +457,6 @@ displaySomeException se =
457
457
topHandler :: IO a -> IO a
458
458
topHandler prog = topHandlerWith (const $ exitWith (ExitFailure 1 )) prog
459
459
460
- verbosityHandle :: Verbosity -> Handle
461
- verbosityHandle verbosity
462
- | isVerboseStderr verbosity = stderr
463
- | otherwise = stdout
464
-
465
460
-- | Non fatal conditions that may be indicative of an error or problem.
466
461
--
467
462
-- We display these at the 'normal' verbosity level.
@@ -471,9 +466,10 @@ warn verbosity msg = withFrozenCallStack $ do
471
466
when ((verbosity >= normal) && not (isVerboseNoWarn verbosity)) $ do
472
467
ts <- getPOSIXTime
473
468
hFlush stdout
474
- hPutStr stderr . withMetadata ts NormalMark FlagTrace verbosity
475
- . wrapTextVerbosity verbosity
476
- $ " Warning: " ++ msg
469
+ putErr
470
+ . withMetadata ts NormalMark FlagTrace verbosity
471
+ . wrapTextVerbosity verbosity
472
+ $ " Warning: " ++ msg
477
473
478
474
-- | Useful status messages.
479
475
--
@@ -485,9 +481,8 @@ warn verbosity msg = withFrozenCallStack $ do
485
481
notice :: Verbosity -> String -> IO ()
486
482
notice verbosity msg = withFrozenCallStack $ do
487
483
when (verbosity >= normal) $ do
488
- let h = verbosityHandle verbosity
489
484
ts <- getPOSIXTime
490
- hPutStr h
485
+ putErr
491
486
$ withMetadata ts NormalMark FlagTrace verbosity
492
487
$ wrapTextVerbosity verbosity
493
488
$ msg
@@ -498,19 +493,17 @@ notice verbosity msg = withFrozenCallStack $ do
498
493
noticeNoWrap :: Verbosity -> String -> IO ()
499
494
noticeNoWrap verbosity msg = withFrozenCallStack $ do
500
495
when (verbosity >= normal) $ do
501
- let h = verbosityHandle verbosity
502
496
ts <- getPOSIXTime
503
- hPutStr h . withMetadata ts NormalMark FlagTrace verbosity $ msg
497
+ putErr . withMetadata ts NormalMark FlagTrace verbosity $ msg
504
498
505
499
-- | Pretty-print a 'Disp.Doc' status message at 'normal' verbosity
506
500
-- level. Use this if you need fancy formatting.
507
501
--
508
502
noticeDoc :: Verbosity -> Disp. Doc -> IO ()
509
503
noticeDoc verbosity msg = withFrozenCallStack $ do
510
504
when (verbosity >= normal) $ do
511
- let h = verbosityHandle verbosity
512
505
ts <- getPOSIXTime
513
- hPutStr h
506
+ putErr
514
507
$ withMetadata ts NormalMark FlagTrace verbosity
515
508
$ Disp. renderStyle defaultStyle
516
509
$ msg
@@ -529,34 +522,38 @@ setupMessage verbosity msg pkgid = withFrozenCallStack $ do
529
522
info :: Verbosity -> String -> IO ()
530
523
info verbosity msg = withFrozenCallStack $
531
524
when (verbosity >= verbose) $ do
532
- let h = verbosityHandle verbosity
533
525
ts <- getPOSIXTime
534
- hPutStr h
526
+ putErr
535
527
$ withMetadata ts NeverMark FlagTrace verbosity
536
528
$ wrapTextVerbosity verbosity
537
529
$ msg
538
530
539
531
infoNoWrap :: Verbosity -> String -> IO ()
540
532
infoNoWrap verbosity msg = withFrozenCallStack $
541
533
when (verbosity >= verbose) $ do
542
- let h = verbosityHandle verbosity
543
534
ts <- getPOSIXTime
544
- hPutStr h
535
+ putErr
545
536
$ withMetadata ts NeverMark FlagTrace verbosity
546
537
$ msg
547
538
539
+ putErr :: String -> IO ()
540
+ putErr = hPutStr stderr
541
+
542
+ putErrLn :: String -> IO ()
543
+ putErrLn = hPutStrLn stderr
544
+
548
545
-- | Detailed internal debugging information
549
546
--
550
547
-- We display these messages when the verbosity level is 'deafening'
551
548
--
552
549
debug :: Verbosity -> String -> IO ()
553
550
debug verbosity msg = withFrozenCallStack $
554
551
when (verbosity >= deafening) $ do
555
- let h = verbosityHandle verbosity
556
552
ts <- getPOSIXTime
557
- hPutStr h $ withMetadata ts NeverMark FlagTrace verbosity
558
- $ wrapTextVerbosity verbosity
559
- $ msg
553
+ putErr
554
+ $ withMetadata ts NeverMark FlagTrace verbosity
555
+ $ wrapTextVerbosity verbosity
556
+ $ msg
560
557
-- ensure that we don't lose output if we segfault/infinite loop
561
558
hFlush stdout
562
559
@@ -565,9 +562,8 @@ debug verbosity msg = withFrozenCallStack $
565
562
debugNoWrap :: Verbosity -> String -> IO ()
566
563
debugNoWrap verbosity msg = withFrozenCallStack $
567
564
when (verbosity >= deafening) $ do
568
- let h = verbosityHandle verbosity
569
565
ts <- getPOSIXTime
570
- hPutStr h
566
+ putErr
571
567
$ withMetadata ts NeverMark FlagTrace verbosity
572
568
$ msg
573
569
-- ensure that we don't lose output if we segfault/infinite loop
@@ -580,7 +576,7 @@ chattyTry :: String -- ^ a description of the action we were attempting
580
576
-> IO ()
581
577
chattyTry desc action =
582
578
catchIO action $ \ exception ->
583
- hPutStrLn stderr $ " Error while " ++ desc ++ " : " ++ show exception
579
+ putErrLn $ " Error while " ++ desc ++ " : " ++ show exception
584
580
585
581
-- | Run an IO computation, returning @e@ if it raises a "file
586
582
-- does not exist" error.
0 commit comments