drain and pump
[ekitaihs.git] / Ekitai.hs
index 6c1609e..6d0c867 100644 (file)
--- a/Ekitai.hs
+++ b/Ekitai.hs
@@ -2,27 +2,28 @@ 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 = do
+    -- handle file stuff
     argv <- getArgs
     (opts, fname) <- ekitaiOpts argv
     handle <- openFile fname ReadMode
-    contents <- hGetContents handle
-    putStr contents
+    contents <- hGetLines handle
     hClose handle
-    initialState <- buildInitialState $ stringToSim 10 10 contents
-    endState <- B.defaultMain ekitaiApp initialState
-    print endState
-
--- main :: IO ()
--- main = do
-    -- return 0
+    -- start brick
+    ekitaiMain (stringToSim contents) (optTimeStep opts)
+    return 0