@@ -54,6 +54,7 @@ import Distribution.Types.LibraryName
5454 ( LibraryName (LSubLibName , LMainLibName ) )
5555import Distribution.Types.UnqualComponentName
5656 ( unUnqualComponentName )
57+ import Distribution.Verbosity (Verbosity , verbose )
5758
5859import Text.PrettyPrint ( nest , render )
5960
@@ -69,32 +70,32 @@ data Message =
6970 | Success
7071 | Failure ConflictSet FailReason
7172
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
7576
76- displayMessageAtLevel :: EntryAtLevel -> String
77- displayMessageAtLevel (AtLevel l msg) =
77+ displayMessageAtLevel :: Verbosity -> EntryAtLevel -> String
78+ displayMessageAtLevel verb (AtLevel l msg) =
7879 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
9495-- Instead of displaying `aeson-1.0.2.1, aeson-1.0.2.0, aeson-1.0.1.0, ...`,
9596-- the following line aims to display `aeson: 1.0.2.1, 1.0.2.0, 1.0.1.0, ...`.
9697--
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
9899
99100-- | Transforms the structured message type to actual messages (SummarizedMessage s).
100101--
@@ -283,15 +284,15 @@ showOption qpn@(Q _pp pn) (POption i linkedTo) =
283284-- "foo-bar; foo-bar~>bazqux.foo-bar-1, foo-bar~>bazqux.foo-bar-2"
284285-- >>> showOptions foobarQPN [v0, i1, k2]
285286-- "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 " , "
290291 [if isJust linkedTo
291292 then showOption q x
292293 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 " " )
295296
296297showGR :: QGoalReason -> String
297298showGR UserGoal = " (user goal)"
0 commit comments