HStringTemplate 0.3 → 0.3.1
raw patch · 2 files changed
+7/−2 lines, 2 files
Files
- HStringTemplate.cabal +1/−1
- Text/StringTemplate/Base.hs +6/−1
HStringTemplate.cabal view
@@ -1,5 +1,5 @@ name: HStringTemplate-version: 0.3+version: 0.3.1 synopsis: StringTemplate implementation in Haskell. description: A port of the Java library by Terrence Parr. category: Text
Text/StringTemplate/Base.hs view
@@ -161,7 +161,12 @@ stLookup :: (Stringable a) => [Char] -> SEnv a -> StringTemplate a stLookup x env = maybe (newSTMP ("No Template Found for: " ++ x))- (\st-> st {senv = env}) $ stGetFirst (sgen env x)+ (\st-> st {senv = mergeSEnvs env (senv st)}) $ stGetFirst (sgen env x)++--merges values of former into latter, preserving encoder+--of latter, as well as non-overriden options. group of latter is overridden.+mergeSEnvs :: SEnv a -> SEnv a -> SEnv a+mergeSEnvs x y = SEnv {smp = M.union (smp x) (smp y), sopts = (sopts y ++ sopts x), sgen = sgen x, senc = senc y} parseSTMP :: (Stringable a) => (Char, Char) -> String -> SEnv a -> a parseSTMP x = either (showStr . show) (id) . runParser (stmpl False) x ""