drain and pump
[ekitaihs.git] / Ekitai.hs
index 6fe1195..6d0c867 100644 (file)
--- a/Ekitai.hs
+++ b/Ekitai.hs
@@ -1,21 +1,29 @@
 import System.Environment
+import System.IO
 
 import qualified Data.Vector as V
-import qualified Brick as B
 
 import Parse
 import Sim
 import Render
 
--- ui :: B.Widget ()
--- ui = B.str "hello" <+> B.str "World"
+hGetLines :: Handle -> IO [String]
+hGetLines h = do
+    line <- hGetLine h
+    isEof <- hIsEOF h
+    if isEof then return [line]
+    else do
+        lines <- hGetLines h
+        return (line:lines)
 
--- main :: IO ()
 main = do
-    initialState <- buildInitialState
-    endState <- B.defaultMain ekitaiApp initialState
-    print endState
-    -- argv <- getArgs
-    -- (opts, fname) <- ekitaiOpts argv
-    -- return 0
+    -- handle file stuff
+    argv <- getArgs
+    (opts, fname) <- ekitaiOpts argv
+    handle <- openFile fname ReadMode
+    contents <- hGetLines handle
+    hClose handle
+    -- start brick
+    ekitaiMain (stringToSim contents) (optTimeStep opts)
+    return 0