packages feed

chatty 0.5.4.1 → 0.5.4.2

raw patch · 2 files changed

+14/−2 lines, 2 files

Files

Text/Chatty/Expansion/Vars.hs view
@@ -84,9 +84,21 @@ instance MonadExpand m => MonadExpand (ExpanderT m) where   expand = lift . expand <=< expandVars --- | Expand $variables. TODO: ${var}+-- | Expand $variables expandVars :: (Monad m,Functor m,ExpanderEnv m) => String -> m String expandVars [] = return []+expandVars ('\\':'$':ss) = do r <- expandVars ss; return ('$':r)+expandVars ('$':'{':ss) =+  let nm = takeBrace 0 ss+      rm = drop (length nm + 1) ss+      takeBrace 0 ('}':ss) = ""+      takeBrace n ('}':ss) = '}' : takeBrace (n-1) ss+      takeBrace n ('{':ss) = '{' : takeBrace (n+1) ss+      takeBrace n (s:ss) = s : takeBrace n ss+  in do+    v <- fmap show $ mgetv nm+    r <- expandVars rm+    return (v++r) expandVars ('$':ss) =   let (nm,rm) = (takeWhile isAnum &&& dropWhile isAnum) ss   in do
chatty.cabal view
@@ -10,7 +10,7 @@ -- PVP summary:      +-+------- breaking API changes --                   | | +----- non-breaking API additions --                   | | | +--- code changes with no API change-version:             0.5.4.1+version:             0.5.4.2  -- A short (one-line) description of the package. synopsis:            Some monad transformers and typeclasses to simplify I/O on a transformer stack.