on master help sign in
Get rid of warnings and update the version numbers in Compiler.hs and Server.hs. Get .cabal up to date for both packages.
commit2267cd20d7a3f973f106a0c386b470942e577ed7 authorevancz <info@elm-lang.org> dateWed 30 May 2012, 17:01 (14 years ago) parentb400d8b
5 files changed+25−13
elm-server/Server.hs+12−7 elm-server/Setup.hs+2 elm-server/elm-server.cabal+4−4 elm/Elm.cabal+1−1 elm/src/Compiler.hs+6−1
elm-server/Server.hs+12−7
@@ -11,27 +11,30 @@ import qualified Language.Elm as Elm
1111
1212serve :: String -> IO ()
1313serve libLoc = do
14− putStrLn "Elm Server 0.1.1.8: running at <http://localhost:8000>"
14+ putStrLn "Elm Server 0.1.2: running at <http://localhost:8000>"
1515 simpleHTTP nullConf $ do
16− compressedResponseFilter
16+ _ <- compressedResponseFilter
1717 msum [ uriRest (serveElm libLoc)
1818 , serveDirectory EnableBrowsing [] "."
1919 ]
2020
21+pageTitle :: String -> String
2122pageTitle fp =
2223 reverse . takeWhile (/='/') . drop 1 . dropWhile (/='.') $ reverse fp
2324
2425serveElm libLoc fp = do
25− let ('/':path) = fp
26− guard (".elm" `isSuffixOf` path)
27− content <- liftIO (readFile path)
28− ok . toResponse $ Elm.toHtml libLoc (pageTitle path) content
26+ let ('/':filePath) = fp
27+ guard (".elm" `isSuffixOf` filePath)
28+ content <- liftIO (readFile filePath)
29+ ok . toResponse $ Elm.toHtml libLoc (pageTitle filePath) content
2930
3031
32+main :: IO ()
3133main = getArgs >>= parse
3234
35+parse :: [String] -> IO ()
3336parse ("--help":_) = putStrLn usage
34−parse ("--version":_) = putStrLn "The Elm Server 0.1.1.7"
37+parse ("--version":_) = putStrLn "The Elm Server 0.1.2"
3538parse [] = serve "/elm-mini.js"
3639parse [arg]
3740 | "--runtime-location=" `isPrefixOf` arg =
@@ -39,10 +42,12 @@ parse [arg]
3942 | otherwise = putStrLn usageMini
4043parse _ = putStrLn usageMini
4144
45+usageMini :: String
4246usageMini =
4347 "Usage: elm-server [OPTIONS]\n\
4448 \Try `elm-server --help' for more information."
4549
50+usage :: String
4651usage =
4752 "Usage: elm-server [OPTIONS]\n\
4853 \Compiles and serves .elm files from the current directory.\n\
elm-server/Setup.hsnew file+2
@@ -0,0 +1,2 @@
1+import Distribution.Simple
2+main = defaultMain
elm-server/elm-server.cabal+4−4
@@ -1,4 +1,4 @@
1−Name: Elm-server
1+Name: elm-server
22Version: 0.1.2
33Synopsis: The Elm language server.
44Description: This package provides a standalone, Happstack-based Elm server.
@@ -16,7 +16,7 @@ Category: Compiler, Language
1616
1717Build-type: Simple
1818
19−Extra-source-files: README.md
19+--Extra-source-files: README.md
2020Cabal-version: >=1.6
2121
2222source-repository head
@@ -25,7 +25,7 @@ source-repository head
2525
2626Executable elm-server
2727 Main-is: Server.hs
28− ghc-options: -O2
28+ ghc-options: -Wall
2929 Build-depends: base >=4.2 && <5,
3030 containers >= 0.3,
3131 transformers >= 0.2,
@@ -35,4 +35,4 @@ Executable elm-server
3535 HTTP >= 4000,
3636 happstack-server == 7.0.2,
3737 deepseq,
38− Elm >= 0.1.2
38+ Elm == 0.1.2.*
elm/Elm.cabal+1−1
@@ -21,7 +21,7 @@ Category: Compiler, Language
2121
2222Build-type: Simple
2323
24−Extra-source-files: README.md
24+--Extra-source-files: README.md
2525Cabal-version: >=1.8
2626
2727source-repository head
elm/src/Compiler.hs+6−1
@@ -6,10 +6,12 @@ import GenerateHtml
66import System.Environment
77import Text.Blaze.Html.Renderer.String (renderHtml)
88
9+main :: IO ()
910main = getArgs >>= parse
1011
12+parse :: [String] -> IO ()
1113parse ("--help":_) = putStrLn usage
12−parse ("--version":_) = putStrLn "The Elm Compiler 0.1.1.7"
14+parse ("--version":_) = putStrLn "The Elm Compiler 0.1.2"
1315parse [loc,file]
1416 | "--runtime-location=" `isPrefixOf` loc =
1517 produceHtml (tail $ dropWhile (/='=') loc) file
@@ -17,6 +19,7 @@ parse [loc,file]
1719parse [file] = produceHtml "elm-mini.js" file
1820parse _ = putStrLn usageMini
1921
22+produceHtml :: String -> FilePath -> IO ()
2023produceHtml libLoc file = do
2124 code <- readFile file
2225 let name = takeWhile (/='.') file
@@ -25,10 +28,12 @@ produceHtml libLoc file = do
2528 Right jsCode -> writeFile (name ++ ".html") . renderHtml $
2629 generateHtml libLoc name jsCode
2730
31+usageMini :: String
2832usageMini =
2933 "Usage: elm [OPTIONS] FILE\n\
3034 \Try `elm --help' for more information."
3135
36+usage :: String
3237usage =
3338 "Usage: elm [OPTIONS] FILE\n\
3439 \Compile .elm files to .html files.\n\