packages feed

hpaco 0.11.0.6 → 0.16.1.0

raw patch · 2 files changed

+20/−4 lines, 2 filesdep ~hpaco-lib

Dependency ranges changed: hpaco-lib

Files

Main.hs view
@@ -13,6 +13,8 @@ import qualified Text.HPaco.Writers.PHP as PHP import qualified Text.HPaco.Writers.Run as Run import qualified Text.HPaco.Writers.Javascript as JS+import qualified Text.HPaco.Writers.Dependencies as Deps+import qualified Text.HPaco.Writers.JsonLisp as JsonLisp import Text.HPaco.Writer (Writer)  main = do@@ -27,12 +29,17 @@ processStdin cmdargs =     getContents >>= process cmdargs "" "<STDIN>" >>= putStr +outputFilename :: CommandArgs -> FilePath -> FilePath+outputFilename cmdargs srcFilename = replaceExtension srcFilename (outputFormatExtension . caOutputFormat $ cmdargs)+ processFile :: CommandArgs -> FilePath -> IO () processFile cmdargs srcFilename = do     src <- withFile srcFilename ReadMode hGetContents-    let dstFilename = replaceExtension srcFilename (outputFormatExtension . caOutputFormat $ cmdargs)+    let dstFilename = outputFilename cmdargs srcFilename     dst <- process cmdargs (takeBaseName srcFilename) srcFilename src-    withFile dstFilename WriteMode $ \f -> hPutStr f dst+    if caToStdout cmdargs+        then putStr dst+        else withFile dstFilename WriteMode $ flip hPutStr dst  process :: CommandArgs -> String -> FilePath -> String -> IO String process cmdargs templateName filename src = do@@ -50,6 +57,7 @@     ast <- reader src'     case caOutputFormat cmdargs of         RunInterpreted -> runInterpreted (opt ast) cmdargs templateName >> return "\n"+        ListDependencies -> return . (getWriter cmdargs filename) $ ast         otherwise -> return . write . opt $ ast     where runInterpreted ast cmdargs templateName =             let opts = Run.defaultOptions@@ -60,12 +68,20 @@ outputFormatExtension :: OutputFormat -> String outputFormatExtension OutputPHP = "php" outputFormatExtension OutputJavascript = "js"+outputFormatExtension OutputJsonLisp = "jslisp"+outputFormatExtension RunInterpreted = ""+outputFormatExtension ListDependencies = "dep"  getWriter :: CommandArgs -> String -> Writer getWriter cmdargs templateName =     go (caOutputFormat cmdargs) cmdargs templateName     where         go :: OutputFormat -> CommandArgs -> String -> Writer+        go DumpRawAST _ _ = show+        go ListDependencies cmdargs templateName =+            Deps.writeDependencies templateName+        go OutputJsonLisp cmdargs templateName =+            JsonLisp.writeJsonLisp         go OutputJavascript cmdargs templateName =             JS.writeJavascript $ JS.defaultWriterOptions                                     { JS.woPrettyPrint = caJsPretty cmdargs
hpaco.cabal view
@@ -1,5 +1,5 @@ name:                hpaco-version:             0.11.0.6+version:             0.16.1.0 synopsis:            Modular template compiler description:         CLI front-end to the hpaco-lib library. Compiles Paco                      template source code to JavaScript or PHP, or interprets@@ -20,7 +20,7 @@   build-depends:       base == 4.*                ,       filepath >= 1.1 && < 1.4                ,       cmdargs >= 0.9 && < 0.10-               , hpaco-lib == 0.11.0.6+               , hpaco-lib == 0.16.1.0                ,       strict == 0.3.*                -- ,       split >= 0.1 && < 0.2                -- ,       safe >= 0.3.3 && < 0.4