module Hi.Template ( readTemplates , untemplate ) where import Hi.Directory (inTemporaryDirectory) import qualified Hi.Git as Git import Hi.Types import Data.List.Split (splitOn) -- | Read templates in given 'FilePath' readTemplates :: FilePath -> IO Files readTemplates repo = inTemporaryDirectory "hi" $ do -- TODO Handle error _ <- Git.clone $ Git.expandUrl repo paths <- Git.lsFiles contents <- mapM readFile paths return $ zip paths contents -- | Remove \".template\" from 'FilePath' untemplate :: FilePath -> FilePath untemplate = head . splitOn ".template"