module Distribution.Types.Mixin (
Mixin(..),
) where
import Prelude ()
import Distribution.Compat.Prelude
import Text.PrettyPrint ((<+>))
import Distribution.Compat.ReadP
import Distribution.Text
import Distribution.Types.PackageName
import Distribution.Types.IncludeRenaming
data Mixin = Mixin { mixinPackageName :: PackageName
, mixinIncludeRenaming :: IncludeRenaming }
deriving (Show, Read, Eq, Ord, Typeable, Data, Generic)
instance Binary Mixin
instance Text Mixin where
disp (Mixin pkg_name incl) =
disp pkg_name <+> disp incl
parse = do
pkg_name <- parse
skipSpaces
incl <- parse
return (Mixin pkg_name incl)