HStringTemplate 0.6.4 → 0.6.5
raw patch · 4 files changed
+15/−16 lines, 4 filesdep +deepseqdep −parallelPVP ok
version bump matches the API change (PVP)
Dependencies added: deepseq
Dependencies removed: parallel
API changes (from Hackage documentation)
Files
- HStringTemplate.cabal +2/−2
- Text/StringTemplate/Base.hs +13/−11
- Text/StringTemplate/GenericStandard.hs +0/−2
- Text/StringTemplate/QQ.hs +0/−1
HStringTemplate.cabal view
@@ -1,5 +1,5 @@ name: HStringTemplate-version: 0.6.4+version: 0.6.5 synopsis: StringTemplate implementation in Haskell. description: A port of the Java library by Terrence Parr. category: Text@@ -26,7 +26,7 @@ exposed-modules: Text.StringTemplate.QQ if flag(smaller-base)- build-depends: syb, base >= 4, base < 5, filepath, parsec < 4, containers, pretty, time, old-time, old-locale, bytestring, directory, array, text, parallel, utf8-string+ build-depends: syb, base >= 4, base < 5, filepath, parsec < 4, containers, pretty, time, old-time, old-locale, bytestring, directory, array, text, deepseq, utf8-string else build-depends: base > 3, base < 4, filepath, parsec < 4, containers, pretty, time, old-time, old-locale, bytestring, directory, array, text, utf8-string
Text/StringTemplate/Base.hs view
@@ -16,7 +16,7 @@ import Control.Arrow import Control.Applicative hiding ((<|>),many,optional) import Control.Monad-import Control.Parallel.Strategies(rnf, NFData(..))+import Control.DeepSeq import qualified Control.Exception as C import Data.List import Data.Maybe@@ -30,7 +30,6 @@ import Text.StringTemplate.Classes import Text.StringTemplate.Instances()-import Debug.Trace {-------------------------------------------------------------------- Generic Utilities@@ -93,6 +92,7 @@ render :: Stringable a => StringTemplate a -> a render = either (showStr) id . runSTMP <*> senv +nullEnv :: SEnv a nullEnv = SEnv M.empty [] mempty id -- | Returns a tuple of three Maybes. The first is set if there is a parse error in the template.@@ -182,8 +182,10 @@ inSGen :: (STGroup a -> STGroup a) -> StringTemplate a -> StringTemplate a inSGen f st@STMP{senv = env} = st {senv = env {sgen = f (sgen env)} } +{- envLookup :: String -> SEnv a -> Maybe (SElem a) envLookup x = M.lookup x . smp+-} envLookupEx :: String -> SEnv a -> SElem a envLookupEx x snv = case M.lookup x (smp snv) of@@ -241,7 +243,7 @@ parseSTMPNames :: (Char, Char) -> String -> Either ParseError ([String],[String],[String]) parseSTMPNames cs s = runParser getRefs (cs,[],[],[]) "" s where getRefs = do- (stmpl False :: TmplParser (SEnv String -> String))+ _ <- stmpl False :: TmplParser (SEnv String -> String) (_,qqnames,regnames,tmpls) <- getState return (qqnames, regnames, tmpls) @@ -318,7 +320,7 @@ (stToString <$$> showVal <*> fs $ snv) a around :: Char -> GenParser Char st t -> Char -> GenParser Char st t-around x p y = do {char x; v<-p; char y; return v}+around x p y = do {_ <- char x; v<-p; _ <- char y; return v} spaced :: GenParser Char st t -> GenParser Char st t spaced p = do {spaces; v<-p; spaces; return v} word :: GenParser Char st String@@ -369,15 +371,15 @@ comment :: Stringable a => TmplParser (SEnv a -> a) comment = do (ca, cb) <- getSeps- string [ca,'!'] >> manyTill anyChar (try . string $ ['!',cb])+ _ <- string [ca,'!'] >> manyTill anyChar (try . string $ ['!',cb]) return (showStr "") blank :: Stringable a => TmplParser (SEnv a -> a) blank = do (ca, cb) <- getSeps- char ca+ _ <- char ca spaces- char cb+ _ <- char cb return (showStr "") optExpr :: Stringable a => TmplParser (SEnv a -> a)@@ -392,7 +394,7 @@ optList = sepBy oneOpt (char ',' <|> char ';') oneOpt = do o <- spaced word- char '='+ _ <- char '=' v <- spaced subexprn return (o,v) @@ -419,7 +421,7 @@ ifstat ::Stringable a => TmplParser (SEnv a -> a) ifstat = do (_, cb) <- getSeps- string "if("+ _ <- string "if(" n <- option True (char '!' >> return False) e <- subexprn p <- props@@ -434,10 +436,10 @@ elsestat ::Stringable a => TmplParser (SEnv a -> a) elsestat = do (ca, cb) <- getSeps- around ca (string "else") cb+ _ <- around ca (string "else") cb optLine act <- stmpl True- char ca >> string "endif"+ _ <- char ca >> string "endif" return act endifstat ::Stringable a => TmplParser (SEnv a -> a)
Text/StringTemplate/GenericStandard.hs view
@@ -10,10 +10,8 @@ import Text.StringTemplate.Instances() import Data.Generics.Basics import Data.Generics.Aliases-import qualified Data.Map as M import qualified Data.ByteString.Char8 as B import qualified Data.ByteString.Lazy.Char8 as LB-import Data.Maybe -- import qualified System.Time as OldTime -- import System.Locale -- import Data.Time
Text/StringTemplate/QQ.hs view
@@ -19,7 +19,6 @@ import qualified Language.Haskell.TH as TH import Language.Haskell.TH.Quote import Text.StringTemplate.Base-import Control.Monad.Writer quoteTmplExp :: String -> TH.ExpQ quoteTmplPat :: String -> TH.PatQ