packages feed

HStringTemplate 0.6.8 → 0.6.9

raw patch · 3 files changed

+37/−17 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

+ Text.StringTemplate: directoryGroupExt :: Stringable a => FilePath -> FilePath -> IO (STGroup a)
+ Text.StringTemplate: directoryGroupLazyExt :: Stringable a => FilePath -> FilePath -> IO (STGroup a)
+ Text.StringTemplate: directoryGroupRecursiveExt :: Stringable a => FilePath -> FilePath -> IO (STGroup a)
+ Text.StringTemplate: directoryGroupRecursiveLazyExt :: Stringable a => FilePath -> FilePath -> IO (STGroup a)
- Text.StringTemplate: class Show a => StringTemplateShows a
+ Text.StringTemplate: class Show a => StringTemplateShows a where stringTemplateShow = show stringTemplateFormattedShow = flip $ const . stringTemplateShow
- Text.StringTemplate: class Stringable a
+ Text.StringTemplate: class Stringable a where stFromByteString = stFromString . unpack mconcatMap m k = foldr (smappend . k) smempty m mintercalate = (smconcat .) . intersperse mlabel x y = smconcat [x, stFromString "[", y, stFromString "]"] smconcat xs = foldr (smappend . id) smempty xs
- Text.StringTemplate: class ToSElem a
+ Text.StringTemplate: class ToSElem a where toSElemList = LI . map toSElem
- Text.StringTemplate.Base: class Show a => StringTemplateShows a
+ Text.StringTemplate.Base: class Show a => StringTemplateShows a where stringTemplateShow = show stringTemplateFormattedShow = flip $ const . stringTemplateShow
- Text.StringTemplate.Base: class Stringable a
+ Text.StringTemplate.Base: class Stringable a where stFromByteString = stFromString . unpack mconcatMap m k = foldr (smappend . k) smempty m mintercalate = (smconcat .) . intersperse mlabel x y = smconcat [x, stFromString "[", y, stFromString "]"] smconcat xs = foldr (smappend . id) smempty xs
- Text.StringTemplate.Base: class ToSElem a
+ Text.StringTemplate.Base: class ToSElem a where toSElemList = LI . map toSElem
- Text.StringTemplate.Classes: class Show a => StringTemplateShows a
+ Text.StringTemplate.Classes: class Show a => StringTemplateShows a where stringTemplateShow = show stringTemplateFormattedShow = flip $ const . stringTemplateShow
- Text.StringTemplate.Classes: class Stringable a
+ Text.StringTemplate.Classes: class Stringable a where stFromByteString = stFromString . unpack mconcatMap m k = foldr (smappend . k) smempty m mintercalate = (smconcat .) . intersperse mlabel x y = smconcat [x, stFromString "[", y, stFromString "]"] smconcat xs = foldr (smappend . id) smempty xs
- Text.StringTemplate.Classes: class ToSElem a
+ Text.StringTemplate.Classes: class ToSElem a where toSElemList = LI . map toSElem

Files

HStringTemplate.cabal view
@@ -1,5 +1,5 @@ name:                HStringTemplate-version:             0.6.8+version:             0.6.9 synopsis:            StringTemplate implementation in Haskell. description:         A port of the Java library by Terrence Parr. category:            Text@@ -7,7 +7,7 @@ license-file:        LICENSE author:              Sterling Clover maintainer:          s.clover@gmail.com-Tested-With:         GHC == 6.10.3+Tested-With:         GHC == 7.0.4 Build-Type:          Simple build-Depends:       base Cabal-Version:       >= 1.6
Text/StringTemplate.hs view
@@ -48,9 +48,11 @@   setEncoder, setEncoderGroup,   -- * Groups   groupStringTemplates, addSuperGroup, addSubGroup,-  mergeSTGroups, directoryGroup, unsafeVolatileDirectoryGroup,+  mergeSTGroups, directoryGroup, directoryGroupExt,+  unsafeVolatileDirectoryGroup,   directoryGroupRecursive, directoryGroupRecursiveLazy,-  directoryGroupLazy, nullGroup+  directoryGroupRecursiveExt, directoryGroupRecursiveLazyExt,+  directoryGroupLazy, directoryGroupLazyExt, nullGroup   ) where import Text.StringTemplate.Base import Text.StringTemplate.Group
Text/StringTemplate/Group.hs view
@@ -3,8 +3,10 @@  module Text.StringTemplate.Group     (groupStringTemplates, addSuperGroup, addSubGroup, setEncoderGroup,-     mergeSTGroups, directoryGroup, optInsertGroup,-     directoryGroupLazy, directoryGroupRecursive, directoryGroupRecursiveLazy,+     mergeSTGroups, directoryGroup, directoryGroupExt, optInsertGroup,+     directoryGroupLazy, directoryGroupLazyExt, directoryGroupRecursive,+     directoryGroupRecursiveExt, directoryGroupRecursiveLazy,+     directoryGroupRecursiveLazyExt,      unsafeVolatileDirectoryGroup, nullGroup     ) where import Control.Applicative@@ -41,13 +43,13 @@      stmp <- newSTMP <$> rf f      return (fname, stmp)) -getTmplsRecursive :: FilePath -> FilePath -> IO [(FilePath, FilePath)]-getTmplsRecursive base fp = do+getTmplsRecursive :: FilePath -> FilePath -> FilePath -> IO [(FilePath, FilePath)]+getTmplsRecursive ext base fp = do           dirContents <- filter (not . isPrefixOf ".") <$> getDirectoryContents fp           subDirs <- filterM (doesDirectoryExist . (fp </>)) dirContents-          subs <- concat <$> mapM (\x -> getTmplsRecursive (base </> x) (fp </> x)) subDirs-          return $ (map ((fp </>) &&& (\x -> base </> dropExtension x)) $-                    filter ((".st" ==) . takeExtension) dirContents)+          subs <- concat <$> mapM (\x -> getTmplsRecursive ext (base </> x) (fp </> x)) subDirs+          return $ (map ((fp </>) &&& (\x -> base </> dropExtensions x)) $+                    filter ((ext ==) . takeExtension) dirContents)                    ++ subs  {--------------------------------------------------------------------@@ -66,9 +68,13 @@ -- This function is strict, with all files read once. As it performs file IO, -- expect it to throw the usual exceptions. directoryGroup :: (Stringable a) => FilePath -> IO (STGroup a)-directoryGroup path =+directoryGroup = directoryGroupExt ".st"++-- | Given a path, returns a group which generates all files in said directory which have the supplied extension.+directoryGroupExt :: (Stringable a) => FilePath -> FilePath -> IO (STGroup a)+directoryGroupExt ext path =     groupFromFiles readFile' .-    map ((</>) path &&& takeBaseName) . filter ((".st" ==) . takeExtension) =<<+    map ((</>) path &&& takeBaseName) . filter ((ext ==) . takeExtension) =<<     getDirectoryContents path  -- | Given a path, returns a group which generates all files in said directory@@ -79,19 +85,31 @@ -- expect it to throw the usual exceptions. And, as it is lazy, expect -- these exceptions in unexpected places. directoryGroupLazy :: (Stringable a) => FilePath -> IO (STGroup a)-directoryGroupLazy path =+directoryGroupLazy = directoryGroupLazyExt ".st"++-- | Given a path, returns a group which generates all files in said directory which have the supplied extension.+directoryGroupLazyExt :: (Stringable a) => FilePath -> FilePath -> IO (STGroup a)+directoryGroupLazyExt ext path =     groupFromFiles U.readFile .-    map ((</>) path &&& takeBaseName) . filter ((".st" ==) . takeExtension) =<<+    map ((</>) path &&& takeBaseName) . filter ((ext ==) . takeExtension) =<<     getDirectoryContents path  -- | As with 'directoryGroup', but traverses subdirectories as well. A template named -- \"foo/bar.st\" may be referenced by \"foo/bar\" in the returned group. directoryGroupRecursive :: (Stringable a) => FilePath -> IO (STGroup a)-directoryGroupRecursive path = groupFromFiles readFile' =<< getTmplsRecursive "" path+directoryGroupRecursive = directoryGroupRecursiveExt ".st" +-- | As with 'directoryGroupRecursive', but a template extension is supplied.+directoryGroupRecursiveExt :: (Stringable a) => FilePath -> FilePath -> IO (STGroup a)+directoryGroupRecursiveExt ext path = groupFromFiles readFile' =<< getTmplsRecursive ext "" path+ -- | See documentation for 'directoryGroupRecursive'. directoryGroupRecursiveLazy :: (Stringable a) => FilePath -> IO (STGroup a)-directoryGroupRecursiveLazy path = groupFromFiles U.readFile =<< getTmplsRecursive "" path+directoryGroupRecursiveLazy = directoryGroupRecursiveLazyExt ".st"++-- | As with 'directoryGroupRecursiveLazy', but a template extension is supplied.+directoryGroupRecursiveLazyExt :: (Stringable a) => FilePath -> FilePath -> IO (STGroup a)+directoryGroupRecursiveLazyExt ext path = groupFromFiles U.readFile =<< getTmplsRecursive ext "" path  -- | Adds a supergroup to any StringTemplate group such that templates from -- the original group are now able to call ones from the supergroup as well.