@@ -38,8 +38,10 @@ serveElm :: FilePath -> ServerPartT IO Response
38serveElm fp = do
38serveElm fp = do
39 guard (takeExtension fp == ".elm")
39 guard (takeExtension fp == ".elm")
40 let file = tail fp
40 let file = tail fp
41+ args = [ "--make" ,"--runtime=" ++ runtime,
41− args = [ "--make" ,"--runtime=" ++ runtime, "--cache-dir=elm-server-cache", file ]
42+ "--cache-dir=elm-server-cache", file ]
42− (_, stdout, _, handle) <- liftIO $ createProcess $ (proc "elm" args) { std_out = CreatePipe }
43+ (_, stdout, _, handle) <- liftIO $ createProcess $
44+ (proc "elm" args) { std_out = CreatePipe }
43 exitCode <- liftIO $ waitForProcess handle
45 exitCode <- liftIO $ waitForProcess handle
44 liftIO $ removeDirectoryRecursive "elm-server-cache"
46 liftIO $ removeDirectoryRecursive "elm-server-cache"
45 case (exitCode, stdout) of
47 case (exitCode, stdout) of
@@ -49,7 +51,8 @@ serveElm fp = do
49 (ExitFailure _, Nothing) ->
51 (ExitFailure _, Nothing) ->
50 badRequest $ toResponse "See command line for error message."
52 badRequest $ toResponse "See command line for error message."
51 (ExitSuccess, _) ->
53 (ExitSuccess, _) ->
52− serveFile (asContentType "text/html") ("build" </> replaceExtension file "html")
55+ (asContentType "text/html") ("build" </> replaceExtension file "html")
54serveLib :: FilePath -> [Char] -> ServerPartT IO Response
57serveLib :: FilePath -> [Char] -> ServerPartT IO Response
55serveLib libLoc fp = do
58serveLib libLoc fp = do
@@ -73,7 +76,10 @@ parse args =
74 argValue arg = tail $ dropWhile (/= '=') (head arg)
77 argValue arg = tail $ dropWhile (/= '=') (head arg)
75 portNumber = if null portArg then 8000 else read (argValue portArg) :: Int
78 portNumber = if null portArg then 8000 else read (argValue portArg) :: Int
76− elmRuntime = if null runtimeArg then Elm.runtime else return $ argValue runtimeArg
79+ elmRuntime = if null runtimeArg then
82+ return $ argValue runtimeArg
78usageMini :: String
84usageMini :: String
79usageMini =
85usageMini =