33{-# LANGUAGE DuplicateRecordFields #-}
44{-# LANGUAGE GADTs #-}
55{-# LANGUAGE MultiWayIf #-}
6+ {-# LANGUAGE NoFieldSelectors #-}
67{-# LANGUAGE OverloadedRecordDot #-}
78{-# LANGUAGE OverloadedStrings #-}
89{-# LANGUAGE ViewPatterns #-}
@@ -101,7 +102,7 @@ data NeedTargets
101102--------------------------------------------------------------------------------
102103
103104-- | Raw target information passed on the command line.
104- newtype RawInput = RawInput { unRawInput :: Text }
105+ newtype RawInput = RawInput { rawInput :: Text }
105106
106107getRawInput ::
107108 BuildOptsCLI
@@ -235,13 +236,13 @@ parseRawTarget t =
235236--------------------------------------------------------------------------------
236237
237238data ResolveResult = ResolveResult
238- { rrName :: ! PackageName
239- , rrRaw :: ! RawInput
240- , rrComponent :: ! (Maybe NamedComponent )
239+ { name :: ! PackageName
240+ , rawInput :: ! RawInput
241+ , component :: ! (Maybe NamedComponent )
241242 -- ^ Was a concrete component specified?
242- , rrAddedDep :: ! (Maybe PackageLocationImmutable )
243+ , addedDep :: ! (Maybe PackageLocationImmutable )
243244 -- ^ Only if we're adding this as a dependency
244- , rrPackageType :: ! PackageType
245+ , packageType :: ! PackageType
245246 }
246247
247248-- | Convert a 'RawTarget' into a 'ResolveResult' (see description on the
@@ -252,7 +253,7 @@ resolveRawTarget ::
252253 -> Map PackageName PackageLocation
253254 -> (RawInput , RawTarget )
254255 -> RIO env (Either StyleDoc ResolveResult )
255- resolveRawTarget sma allLocs (ri , rt) =
256+ resolveRawTarget sma allLocs (rawInput , rt) =
256257 go rt
257258 where
258259 locals = sma. project
@@ -283,12 +284,12 @@ resolveRawTarget sma allLocs (ri, rt) =
283284 , style Shell $ flow " stack ide targets"
284285 , flow " for a list of available targets."
285286 ]
286- [(name, comp )] -> Right ResolveResult
287- { rrName = name
288- , rrRaw = ri
289- , rrComponent = Just comp
290- , rrAddedDep = Nothing
291- , rrPackageType = PTProject
287+ [(name, component )] -> Right ResolveResult
288+ { name
289+ , rawInput
290+ , component = Just component
291+ , addedDep = Nothing
292+ , packageType = PTProject
292293 }
293294 matches -> Left $
294295 fillSep
@@ -321,41 +322,43 @@ resolveRawTarget sma allLocs (ri, rt) =
321322 Just pp -> do
322323 comps <- ppComponents pp
323324 pure $ case ucomp of
324- ResolvedComponent comp
325- | comp `Set.member` comps -> Right ResolveResult
326- { rrName = name
327- , rrRaw = ri
328- , rrComponent = Just comp
329- , rrAddedDep = Nothing
330- , rrPackageType = PTProject
325+ ResolvedComponent component
326+ | component `Set.member` comps -> Right ResolveResult
327+ { name
328+ , rawInput
329+ , component = Just component
330+ , addedDep = Nothing
331+ , packageType = PTProject
331332 }
332333 | otherwise -> Left $
333334 fillSep
334335 [ " Component"
335- , style Target (fromString $ T. unpack $ renderComponent comp)
336+ , style
337+ Target
338+ (fromString $ T. unpack $ renderComponent component)
336339 , flow " does not exist in package"
337340 , style Target (fromPackageName name) <> " ."
338341 ]
339- UnresolvedComponent comp ->
340- case filter (isCompNamed comp) $ Set. toList comps of
342+ UnresolvedComponent comp' ->
343+ case filter (isCompNamed comp' ) $ Set. toList comps of
341344 [] -> Left $
342345 fillSep
343346 [ " Component"
344- , style Target (fromString $ T. unpack comp)
347+ , style Target (fromString $ T. unpack comp' )
345348 , flow " does not exist in package"
346349 , style Target (fromPackageName name) <> " ."
347350 ]
348- [x ] -> Right ResolveResult
349- { rrName = name
350- , rrRaw = ri
351- , rrComponent = Just x
352- , rrAddedDep = Nothing
353- , rrPackageType = PTProject
351+ [component ] -> Right ResolveResult
352+ { name
353+ , rawInput
354+ , component = Just component
355+ , addedDep = Nothing
356+ , packageType = PTProject
354357 }
355358 matches -> Left $
356359 fillSep
357360 [ flow " Ambiguous component name"
358- , style Target (fromString $ T. unpack comp)
361+ , style Target (fromString $ T. unpack comp' )
359362 , flow " for package"
360363 , style Target (fromPackageName name)
361364 , flow " matches components:"
@@ -369,11 +372,11 @@ resolveRawTarget sma allLocs (ri, rt) =
369372
370373 go (RTPackage name)
371374 | Map. member name locals = pure $ Right ResolveResult
372- { rrName = name
373- , rrRaw = ri
374- , rrComponent = Nothing
375- , rrAddedDep = Nothing
376- , rrPackageType = PTProject
375+ { name
376+ , rawInput
377+ , component = Nothing
378+ , addedDep = Nothing
379+ , packageType = PTProject
377380 }
378381 | Map. member name deps =
379382 pure $ deferToConstructPlan name
@@ -428,12 +431,12 @@ resolveRawTarget sma allLocs (ri, rt) =
428431 pure $ case mrev of
429432 Nothing -> deferToConstructPlan name
430433 Just (_rev, cfKey, treeKey) -> Right ResolveResult
431- { rrName = name
432- , rrRaw = ri
433- , rrComponent = Nothing
434- , rrAddedDep = Just $
434+ { name
435+ , rawInput
436+ , component = Nothing
437+ , addedDep = Just $
435438 PLIHackage (PackageIdentifier name version) cfKey treeKey
436- , rrPackageType = PTDependency
439+ , packageType = PTDependency
437440 }
438441
439442 hackageLatest name = do
@@ -443,36 +446,36 @@ resolveRawTarget sma allLocs (ri, rt) =
443446 Nothing -> deferToConstructPlan name
444447 Just loc ->
445448 Right ResolveResult
446- { rrName = name
447- , rrRaw = ri
448- , rrComponent = Nothing
449- , rrAddedDep = Just loc
450- , rrPackageType = PTDependency
449+ { name
450+ , rawInput
451+ , component = Nothing
452+ , addedDep = Just loc
453+ , packageType = PTDependency
451454 }
452455
453456 hackageLatestRevision name version = do
454457 mrev <- getLatestHackageRevision YesRequireHackageIndex name version
455458 pure $ case mrev of
456459 Nothing -> deferToConstructPlan name
457460 Just (_rev, cfKey, treeKey) -> Right ResolveResult
458- { rrName = name
459- , rrRaw = ri
460- , rrComponent = Nothing
461- , rrAddedDep =
461+ { name
462+ , rawInput
463+ , component = Nothing
464+ , addedDep =
462465 Just $ PLIHackage (PackageIdentifier name version) cfKey treeKey
463- , rrPackageType = PTDependency
466+ , packageType = PTDependency
464467 }
465468
466469 -- This is actually an error case. We _could_ pure a Left value here, but it
467470 -- turns out to be better to defer this until the ConstructPlan phase, and let
468471 -- it complain about the missing package so that we get more errors together,
469472 -- plus the fancy colored output from that module.
470473 deferToConstructPlan name = Right ResolveResult
471- { rrName = name
472- , rrRaw = ri
473- , rrComponent = Nothing
474- , rrAddedDep = Nothing
475- , rrPackageType = PTDependency
474+ { name
475+ , rawInput
476+ , component = Nothing
477+ , addedDep = Nothing
478+ , packageType = PTDependency
476479 }
477480--------------------------------------------------------------------------------
478481-- Combine the ResolveResults
@@ -489,23 +492,23 @@ combineResolveResults ::
489492 )
490493combineResolveResults results = do
491494 addedDeps <- fmap Map. unions $ forM results $ \ result ->
492- case result. rrAddedDep of
495+ case result. addedDep of
493496 Nothing -> pure Map. empty
494- Just pl -> pure $ Map. singleton result. rrName pl
497+ Just pl -> pure $ Map. singleton result. name pl
495498
496499 let m0 = Map. unionsWith (++) $
497- map (\ rr -> Map. singleton rr. rrName [rr]) results
500+ map (\ rr -> Map. singleton rr. name [rr]) results
498501 (errs, ms) = partitionEithers $ flip map (Map. toList m0) $
499502 \ (name, rrs) ->
500- let mcomps = map (. rrComponent ) rrs in
503+ let mcomps = map (. component ) rrs in
501504 -- Confirm that there is either exactly 1 with no component, or that
502505 -- all rrs are components
503506 case rrs of
504507 [] -> assert False $
505508 Left $
506509 flow " Somehow got no rrComponent values, that can't happen."
507- [rr] | isNothing rr. rrComponent ->
508- Right $ Map. singleton name $ TargetAll rr. rrPackageType
510+ [rr] | isNothing rr. component ->
511+ Right $ Map. singleton name $ TargetAll rr. packageType
509512 _
510513 | all isJust mcomps ->
511514 Right $ Map. singleton name $ TargetComps $ Set. fromList $
@@ -521,7 +524,7 @@ combineResolveResults results = do
521524 pure (errs, Map. unions ms, addedDeps)
522525 where
523526 rrToStyleDoc :: ResolveResult -> StyleDoc
524- rrToStyleDoc = fromString . T. unpack . (. rrRaw . unRawInput )
527+ rrToStyleDoc = fromString . T. unpack . (. rawInput . rawInput )
525528
526529--------------------------------------------------------------------------------
527530-- OK, let's do it!
0 commit comments