{-# LANGUAGE DeriveDataTypeable #-} module Hack.Manager.Types where import Data.Data import Data.Typeable import qualified Data.Text as T data GithubInfo = GithubInfo { gi_user :: T.Text , gi_project :: T.Text } deriving (Show, Eq, Data, Typeable) data LicenseInfo = LicenseInfo { li_type :: T.Text , li_copyright :: T.Text } deriving (Show, Eq, Data, Typeable) data CliExecutable = CliExecutable { ce_name :: T.Text , ce_help :: T.Text } deriving (Show, Eq, Data, Typeable) data ProjectInfo = ProjectInfo { pi_name :: T.Text , pi_pkgName :: T.Text , pi_pkgDesc :: T.Text , pi_stackFile :: Bool , pi_onStackage :: Bool , pi_onHackage :: Bool , pi_example :: Maybe T.Text , pi_moreExamples :: Bool , pi_cliUsage :: [CliExecutable] , pi_github :: GithubInfo , pi_license :: LicenseInfo , pi_ghcVersions :: [T.Text] , pi_moreInfo :: Maybe T.Text } deriving (Show, Eq, Data, Typeable)