{-# LANGUAGE OverloadedStrings #-} module Hi.Types ( Option(..) , File(..) , Files , TemplateSource (..) ) where import Data.ByteString (ByteString) data File = TemplateFile { getFilePath :: FilePath, getFileContents :: ByteString } | RegularFile { getFilePath :: FilePath, getFileContents :: ByteString } deriving (Eq,Ord,Show) data TemplateSource = FromRepo String deriving (Eq,Ord,Show) type Files = [File] data Option = Option { moduleName :: String , packageName :: String , author :: String , email :: String , year :: String , templateSource :: TemplateSource , afterCommands :: [String] } deriving (Eq,Ord,Show)