@@ -2,7 +2,6 @@
3module Language.PureScript.Docs.ParseAndDesugar
3module Language.PureScript.Docs.ParseAndDesugar
4 ( parseAndDesugar
4 ( parseAndDesugar
5− , ParseDesugarError(..)
8import Prelude ()
7import Prelude ()
@@ -24,12 +23,6 @@ import qualified Language.PureScript.Constants as C
24import Language.PureScript.Docs.Types
23import Language.PureScript.Docs.Types
25import Language.PureScript.Docs.Convert (collectBookmarks)
24import Language.PureScript.Docs.Convert (collectBookmarks)
27−data ParseDesugarError
28− = ParseError P.MultipleErrors
29− | SortModulesError P.MultipleErrors
30− | DesugarError P.MultipleErrors
@@ -50,7 +43,7 @@ parseAndDesugar ::
50 [FilePath]
43 [FilePath]
51 -> [(PackageName, FilePath)]
44 -> [(PackageName, FilePath)]
52 -> ([Bookmark] -> [P.Module] -> IO a)
45 -> ([Bookmark] -> [P.Module] -> IO a)
53− -> IO (Either ParseDesugarError a)
46+ -> IO (Either P.MultipleErrors a)
54parseAndDesugar inputFiles depsFiles callback = do
47parseAndDesugar inputFiles depsFiles callback = do
55 inputFiles' <- traverse (parseAs Local) inputFiles
48 inputFiles' <- traverse (parseAs Local) inputFiles
56 depsFiles' <- traverse (\(pkgName, f) -> parseAs (FromDep pkgName) f) depsFiles
49 depsFiles' <- traverse (\(pkgName, f) -> parseAs (FromDep pkgName) f) depsFiles
@@ -63,15 +56,15 @@ parseAndDesugar inputFiles depsFiles callback = do
64parseFiles ::
57parseFiles ::
65 [(FileInfo, FilePath)]
58 [(FileInfo, FilePath)]
66− -> ExceptT ParseDesugarError IO [(FileInfo, P.Module)]
59+ -> ExceptT P.MultipleErrors IO [(FileInfo, P.Module)]
67parseFiles =
60parseFiles =
68− throwLeft ParseError . P.parseModulesFromFiles fileInfoToString
61+ throwLeft . P.parseModulesFromFiles fileInfoToString
70sortModules ::
63sortModules ::
71 [P.Module]
64 [P.Module]
72− -> ExceptT ParseDesugarError IO [P.Module]
65+ -> ExceptT P.MultipleErrors IO [P.Module]
73sortModules =
66sortModules =
74− fmap fst . throwLeft SortModulesError . sortModules' . map importPrim
67+ fmap fst . throwLeft . sortModules' . map importPrim
76 sortModules' :: [P.Module] -> Either P.MultipleErrors ([P.Module], P.ModuleGraph)
69 sortModules' :: [P.Module] -> Either P.MultipleErrors ([P.Module], P.ModuleGraph)
77 sortModules' = P.sortModules
70 sortModules' = P.sortModules
@@ -79,9 +72,9 @@ sortModules =
79desugarWithBookmarks ::
72desugarWithBookmarks ::
80 [(FileInfo, P.Module)]
73 [(FileInfo, P.Module)]
81 -> [P.Module]
74 -> [P.Module]
82− -> ExceptT ParseDesugarError IO ([Bookmark], [P.Module])
75+ -> ExceptT P.MultipleErrors IO ([Bookmark], [P.Module])
83desugarWithBookmarks msInfo msSorted = do
76desugarWithBookmarks msInfo msSorted = do
84− msDesugared <- throwLeft DesugarError (desugar msSorted)
77+ msDesugared <- throwLeft (desugar msSorted)
86 let msDeps = getDepsModuleNames (map (\(fp, m) -> (,m) <$> fp) msInfo)
79 let msDeps = getDepsModuleNames (map (\(fp, m) -> (,m) <$> fp) msInfo)
87 msPackages = map (addPackage msDeps) msDesugared
80 msPackages = map (addPackage msDeps) msDesugared
@@ -89,8 +82,8 @@ desugarWithBookmarks msInfo msSorted = do
90 return (bookmarks, takeLocals msPackages)
83 return (bookmarks, takeLocals msPackages)
92−throwLeft :: (MonadError e m) => (l -> e) -> Either l r -> m r
85+throwLeft :: (MonadError l m) => Either l r -> m r
93−throwLeft f = either (throwError . f) return
86+throwLeft = either throwError return
95-- | Specifies whether a PureScript source file is considered as:
88-- | Specifies whether a PureScript source file is considered as: