@@ -24,6 +24,7 @@ import System.Console.CmdArgs.Implicit ( Data
24
24
)
25
25
import System.Console.CmdArgs.Default (def )
26
26
import System.Directory (createDirectoryIfMissing )
27
+ import System.Exit (die )
27
28
import System.FilePath (takeDirectory , (</>) )
28
29
import Text.InterpolatedString.Perl6 (qq )
29
30
import Text.Megaparsec (Token )
@@ -148,7 +149,7 @@ main' = do
148
149
result <- buildPackage target src
149
150
case result of
150
151
Left (TargetNameError targetName') ->
151
- putStrLn [qq |$targetName': No such target.
152
+ die [qq |Couldn't find "$targetName'" target.
152
153
Available targets: $targetNamesText|]
153
154
Left (PackageError (ParseError modulePath error')) -> do
154
155
{- FIXME: find more efficient way to determine filename from
@@ -157,19 +158,19 @@ Available targets: $targetNamesText|]
157
158
case M. lookup modulePath filePaths of
158
159
Just filePath' -> do
159
160
m <- parseErrortoPrettyMessage error' filePath'
160
- putStrLn m
161
- Nothing -> putStrLn [qq |$modulePath not found|]
161
+ die m
162
+ Nothing -> die [qq |$modulePath not found|]
162
163
Left (PackageError (ImportError importErrors)) ->
163
- putStrLn [qq |Import error:
164
+ die [qq |Import error:
164
165
{importErrorsToPrettyMessage importErrors}
165
166
|]
166
167
Left (PackageError (ScanError _ error')) ->
167
- putStrLn [qq |Scan error: $error'|]
168
+ die [qq |Scan error: $error'|]
168
169
Left (PackageError (MetadataError error')) ->
169
- putStrLn [qq |Metadata error: $error'|]
170
+ die [qq |Metadata error: $error'|]
170
171
Left (CompileError errors) ->
171
172
forM_ (M. toList errors) $ \ (filePath, compileError) ->
172
- putStrLn [qq |error: $filePath: $compileError|]
173
+ die [qq |error: $filePath: $compileError|]
173
174
Right buildResult -> writeFiles outDir buildResult
174
175
175
176
writeFiles :: FilePath -> BuildResult -> IO ()
@@ -181,4 +182,4 @@ writeFiles outDir files =
181
182
B. writeFile outPath code
182
183
183
184
main :: IO ()
184
- main = catchIOError main' $ putStrLn . ioeGetErrorString
185
+ main = catchIOError main' $ die . ioeGetErrorString
0 commit comments