@@ -42,11 +42,12 @@ data IState = IState { tt_ctxt :: Context,
42 idris_prims :: [(Name, ([E.Name], E.Term))],
42 idris_prims :: [(Name, ([E.Name], E.Term))],
43 idris_objs :: [FilePath],
43 idris_objs :: [FilePath],
44 idris_libs :: [String],
44 idris_libs :: [String],
45+ idris_hdrs :: [String],
45 errLine :: Maybe Int
46 errLine :: Maybe Int
48idrisInit = IState emptyContext [] emptyContext emptyContext emptyContext
49idrisInit = IState emptyContext [] emptyContext emptyContext emptyContext
49− "" defaultOpts 6 [] [] [] [] [] [] [] Nothing
50+ "" defaultOpts 6 [] [] [] [] [] [] [] [] Nothing
51-- The monad for the main REPL - reading and processing files and updating
52-- The monad for the main REPL - reading and processing files and updating
52-- global state (hence the IO inner monad).
53-- global state (hence the IO inner monad).
@@ -67,6 +68,12 @@ getLibs = do i <- get; return (idris_libs i)
67addLib :: String -> Idris ()
68addLib :: String -> Idris ()
68addLib f = do i <- get; put (i { idris_libs = f : idris_libs i })
69addLib f = do i <- get; put (i { idris_libs = f : idris_libs i })
71+addHdr :: String -> Idris ()
72+addHdr f = do i <- get; put (i { idris_hdrs = f : idris_hdrs i })
74+getHdrs :: Idris [String]
75+getHdrs = do i <- get; return (idris_hdrs i)
70setErrLine :: Int -> Idris ()
77setErrLine :: Int -> Idris ()
71setErrLine x = do i <- get;
78setErrLine x = do i <- get;
72 case (errLine i) of
79 case (errLine i) of