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)