@@ -54,6 +54,7 @@ import Distribution.Types.LibraryName
54
54
( LibraryName (LSubLibName , LMainLibName ) )
55
55
import Distribution.Types.UnqualComponentName
56
56
( unUnqualComponentName )
57
+ import Distribution.Verbosity (Verbosity , verbose )
57
58
58
59
import Text.PrettyPrint ( nest , render )
59
60
@@ -69,32 +70,32 @@ data Message =
69
70
| Success
70
71
| Failure ConflictSet FailReason
71
72
72
- renderSummarizedMessage :: SummarizedMessage -> String
73
- renderSummarizedMessage (SummarizedMsg i) = displayMessageAtLevel i
74
- renderSummarizedMessage (StringMsg s) = s
73
+ renderSummarizedMessage :: Verbosity -> SummarizedMessage -> String
74
+ renderSummarizedMessage verb (SummarizedMsg i) = displayMessageAtLevel verb i
75
+ renderSummarizedMessage _ (StringMsg s) = s
75
76
76
- displayMessageAtLevel :: EntryAtLevel -> String
77
- displayMessageAtLevel (AtLevel l msg) =
77
+ displayMessageAtLevel :: Verbosity -> EntryAtLevel -> String
78
+ displayMessageAtLevel verb (AtLevel l msg) =
78
79
let s = show l
79
- in " [" ++ replicate (3 - length s) ' _' ++ s ++ " ] " ++ displayMessage msg
80
-
81
- displayMessage :: Entry -> String
82
- displayMessage (EntryPackageGoal qpn gr) = " next goal: " ++ showQPN qpn ++ showGR gr
83
- displayMessage (EntryRejectF qfn b c fr) = " rejecting: " ++ showQFNBool qfn b ++ showFR c fr
84
- displayMessage (EntryRejectS qsn b c fr) = " rejecting: " ++ showQSNBool qsn b ++ showFR c fr
85
- displayMessage (EntrySkipping cs) = " skipping: " ++ showConflicts cs
86
- displayMessage (EntryTryingF qfn b) = " trying: " ++ showQFNBool qfn b
87
- displayMessage (EntryTryingP qpn i) = " trying: " ++ showOption qpn i
88
- displayMessage (EntryTryingNewP qpn i gr) = " trying: " ++ showOption qpn i ++ showGR gr
89
- displayMessage (EntryTryingS qsn b) = " trying: " ++ showQSNBool qsn b
90
- displayMessage (EntryUnknownPackage qpn gr) = " unknown package: " ++ showQPN qpn ++ showGR gr
91
- displayMessage EntrySuccess = " done"
92
- displayMessage (EntryFailure c fr) = " fail" ++ showFR c fr
93
- displayMessage (EntrySkipMany qsn b cs) = " skipping: " ++ showOptions qsn b ++ " " ++ showConflicts cs
80
+ in " [" ++ replicate (3 - length s) ' _' ++ s ++ " ] " ++ displayMessage verb msg
81
+
82
+ displayMessage :: Verbosity -> Entry -> String
83
+ displayMessage _ (EntryPackageGoal qpn gr) = " next goal: " ++ showQPN qpn ++ showGR gr
84
+ displayMessage _ (EntryRejectF qfn b c fr) = " rejecting: " ++ showQFNBool qfn b ++ showFR c fr
85
+ displayMessage _ (EntryRejectS qsn b c fr) = " rejecting: " ++ showQSNBool qsn b ++ showFR c fr
86
+ displayMessage _ (EntrySkipping cs) = " skipping: " ++ showConflicts cs
87
+ displayMessage _ (EntryTryingF qfn b) = " trying: " ++ showQFNBool qfn b
88
+ displayMessage _ (EntryTryingP qpn i) = " trying: " ++ showOption qpn i
89
+ displayMessage _ (EntryTryingNewP qpn i gr) = " trying: " ++ showOption qpn i ++ showGR gr
90
+ displayMessage _ (EntryTryingS qsn b) = " trying: " ++ showQSNBool qsn b
91
+ displayMessage _ (EntryUnknownPackage qpn gr) = " unknown package: " ++ showQPN qpn ++ showGR gr
92
+ displayMessage _ EntrySuccess = " done"
93
+ displayMessage _ (EntryFailure c fr) = " fail" ++ showFR c fr
94
+ displayMessage verb (EntrySkipMany qsn b cs) = " skipping: " ++ showOptions verb qsn b ++ " " ++ showConflicts cs
94
95
-- Instead of displaying `aeson-1.0.2.1, aeson-1.0.2.0, aeson-1.0.1.0, ...`,
95
96
-- the following line aims to display `aeson: 1.0.2.1, 1.0.2.0, 1.0.1.0, ...`.
96
97
--
97
- displayMessage (EntryRejectMany qpn is c fr) = " rejecting: " ++ showOptions qpn is ++ showFR c fr
98
+ displayMessage verb (EntryRejectMany qpn is c fr) = " rejecting: " ++ showOptions verb qpn is ++ showFR c fr
98
99
99
100
-- | Transforms the structured message type to actual messages (SummarizedMessage s).
100
101
--
@@ -283,15 +284,15 @@ showOption qpn@(Q _pp pn) (POption i linkedTo) =
283
284
-- "foo-bar; foo-bar~>bazqux.foo-bar-1, foo-bar~>bazqux.foo-bar-2"
284
285
-- >>> showOptions foobarQPN [v0, i1, k2]
285
286
-- "foo-bar; 0, 1/installed-inplace, foo-bar~>bazqux.foo-bar-2 and earlier versions"
286
- showOptions :: QPN -> [POption ] -> String
287
- showOptions _ [] = " unexpected empty list of versions"
288
- showOptions q [x] = showOption q x
289
- showOptions q xs = showQPN q ++ " ; " ++ (L. intercalate " , "
287
+ showOptions :: Verbosity -> QPN -> [POption ] -> String
288
+ showOptions _ _ [] = " unexpected empty list of versions"
289
+ showOptions _ q [x] = showOption q x
290
+ showOptions verb q xs = showQPN q ++ " ; " ++ (L. intercalate " , "
290
291
[if isJust linkedTo
291
292
then showOption q x
292
293
else showI i -- Don't show the package, just the version
293
- | x@ (POption i linkedTo) <- take 3 xs
294
- ] ++ if length xs >= 3 then " and other versions" else " " )
294
+ | x@ (POption i linkedTo) <- if verb >= verbose then xs else take 3 xs
295
+ ] ++ if verb < verbose && length xs >= 3 then " and other versions" else " " )
295
296
296
297
showGR :: QGoalReason -> String
297
298
showGR UserGoal = " (user goal)"
0 commit comments