@@ -13,8 +13,6 @@ import Control.Monad (foldM)
1313import Control.Monad.Except (liftIO)
1414import qualified Data.ByteString as BS
1515import qualified Data.Graph as Graph
16−import qualified Data.List.NonEmpty as NonEmpty
17−import Data.List.NonEmpty (NonEmpty((:|)))
1816import qualified Data.Map as Map
1917import qualified Data.Set as Set
2018
@@ -73,14 +71,13 @@ crawl summary args =
7371 let graph = initWorkGraph (Args.Pkg names) Map.empty
7472 depthFirstSearch summary roots graph
7573
76− Args.Roots (path :| []) ->
74+ Args.Roots path [] ->
7775 crawlHelp summary =<< Header.readOneFile summary path
7876
79− Args.Roots paths ->
80− do headers <- Header.readManyFiles summary paths
81− let names = NonEmpty.map fst headers
82− let unvisited = concatMap toUnvisited (NonEmpty.toList headers)
83− let graph = initWorkGraph (Args.Roots names) (Map.fromList (NonEmpty.toList headers))
77+ Args.Roots path paths ->
78+ do (h,hs) <- Header.readManyFiles summary path paths
79+ let unvisited = concatMap toUnvisited (h:hs)
80+ let graph = initWorkGraph (Args.Roots (fst h) (map fst hs)) (Map.fromList (h:hs))
8481 depthFirstSearch summary unvisited graph
8582 where
8683 toUnvisited (name, Header.Info path _ _ deps) =
@@ -96,10 +93,9 @@ crawlFromSource summary@(Summary _ project _ _ _) source =
9693crawlHelp :: Summary -> ( Maybe Module.Raw, Header.Info ) -> Task.Task Result
9794crawlHelp summary ( maybeName, info@(Header.Info path _ _ deps) ) =
9895 do let name = maybe "Main" id maybeName
99− let args = Args.Roots (name :| [])
10096 let toUnvisited dep = Unvisited (maybe (E.File path) (E.Module path) maybeName) dep
10197 let roots = map toUnvisited deps
102− let graph = initWorkGraph args (Map.singleton name info)
98+ let graph = initWorkGraph (Args.Roots name []) (Map.singleton name info)
10399 depthFirstSearch summary roots graph
104100
105101