module Hack.Manager.Gitignore
( renderGitignore )
where
import Hack.Manager.Types
import Control.Monad
import Data.FileEmbed
import qualified Data.ByteString as BS
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
import qualified Data.Text.Lazy as TL
import qualified Text.Hastache as H
import qualified Text.Hastache.Context as H
giTemplate :: BS.ByteString
giTemplate = $(embedFile "templates/gitignore.mustache")
renderGitignore :: ProjectInfo -> IO T.Text
renderGitignore pinfo =
liftM TL.toStrict $ H.hastacheStr cfg (T.decodeUtf8 giTemplate) ctx
where
ctx = H.mkGenericContext pinfo
cfg =
H.defaultConfig
{ H.muTemplateFileDir = Nothing
, H.muEscapeFunc = H.emptyEscape
}