@@ -87,7 +87,8 @@ import System.IO
89moduleHeader :: IdrisParser [String]
89moduleHeader :: IdrisParser [String]
90+moduleHeader = try (do noDocCommentHere '|' "Modules cannot have documentation comments"
90−moduleHeader = try (do reserved "module"
91+ reserved "module"
91 i <- identifier
92 i <- identifier
92 option ';' (lchar ';')
93 option ';' (lchar ';')
93 return (moduleName i))
94 return (moduleName i))
@@ -1085,8 +1086,7 @@ parseImports fname input
1085 = do i <- getIState
1086 = do i <- getIState
1086 case parseString (runInnerParser (evalStateT imports i)) (Directed (UTF8.fromString fname) 0 0 0 0) input of
1087 case parseString (runInnerParser (evalStateT imports i)) (Directed (UTF8.fromString fname) 0 0 0 0) input of
1087 Failure err -> fail (show err)
1088 Failure err -> fail (show err)
1088− Success (x, i) -> do -- Discard state updates (there should be
1089+ Success (x, i) -> do putIState i
1090 return x
1090 return x
1091 where imports :: IdrisParser (([String], [(String, Maybe String, FC)], Maybe Delta), IState)
1091 where imports :: IdrisParser (([String], [(String, Maybe String, FC)], Maybe Delta), IState)
1092 imports = do whiteSpace
1092 imports = do whiteSpace
@@ -1125,6 +1125,7 @@ parseProg syn fname input mrk
1125 putIState (i { errLine = Just (fc_line fc) }) -- Just errl })
1125 putIState (i { errLine = Just (fc_line fc) }) -- Just errl })
1126 return []
1126 return []
1127 Success (x, i) -> do putIState i
1127 Success (x, i) -> do putIState i
1128+ reportParserWarnings
1128 return $ collect x
1129 return $ collect x
1129 where mainProg :: IdrisParser ([PDecl], IState)
1130 where mainProg :: IdrisParser ([PDecl], IState)
1130 mainProg = case mrk of
1131 mainProg = case mrk of
@@ -1200,6 +1201,7 @@ loadSource h lidr f
1200 file_in <- runIO $ readFile f
1201 file_in <- runIO $ readFile f
1201 file <- if lidr then tclift $ unlit f file_in else return file_in
1202 file <- if lidr then tclift $ unlit f file_in else return file_in
1202 (mname, imports, pos) <- parseImports f file
1203 (mname, imports, pos) <- parseImports f file
1204+ reportParserWarnings
1204 -- process and check module aliases
1206 -- process and check module aliases
1205 let modAliases = M.fromList
1207 let modAliases = M.fromList