summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Command/Importing.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/GF/Command/Importing.hs')
-rw-r--r--src/compiler/GF/Command/Importing.hs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/compiler/GF/Command/Importing.hs b/src/compiler/GF/Command/Importing.hs
index 3d05868b1..cbbb7a30e 100644
--- a/src/compiler/GF/Command/Importing.hs
+++ b/src/compiler/GF/Command/Importing.hs
@@ -30,14 +30,19 @@ importGrammar pgf0 opts files =
s | elem s [".gf",".gfo"] -> do
res <- appIOE $ compileToPGF opts files
case res of
- Ok pgf2 -> do return $ unionPGF pgf0 pgf2
+ Ok pgf2 -> ioUnionPGF pgf0 pgf2
Bad msg -> do putStrLn ('\n':'\n':msg)
return pgf0
".pgf" -> do
pgf2 <- mapM readPGF files >>= return . foldl1 unionPGF
- return $ unionPGF pgf0 pgf2
+ ioUnionPGF pgf0 pgf2
ext -> die $ "Unknown filename extension: " ++ show ext
+ioUnionPGF :: PGF -> PGF -> IO PGF
+ioUnionPGF one two = case msgUnionPGF one two of
+ (pgf, Just msg) -> putStrLn msg >> return pgf
+ (pgf,_) -> return pgf
+
importSource :: SourceGrammar -> Options -> [FilePath] -> IO SourceGrammar
importSource src0 opts files = do
src <- appIOE $ batchCompile opts files