cabal-gild-1.1.2.0: source/library/CabalGild/Type/ExeDependency.hs
module CabalGild.Type.ExeDependency where
import qualified CabalGild.Type.VersionRange as VersionRange
import qualified Data.Ord as Ord
import qualified Distribution.Parsec as Parsec
import qualified Distribution.Pretty as Pretty
import qualified Distribution.Types.ExeDependency as ExeDependency
-- | This type exists to provide an 'Ord' instance for
-- 'ExeDependency.ExeDependency', which was added in @Cabal-syntax-3.10.1.0@.
newtype ExeDependency = ExeDependency
{ unwrap :: ExeDependency.ExeDependency
}
deriving (Eq, Show)
instance Ord ExeDependency where
compare =
Ord.comparing $
(\(ExeDependency.ExeDependency pn ucn vr) -> (pn, ucn, VersionRange.fromVersionRange vr))
. unwrap
instance Parsec.Parsec ExeDependency where
parsec = ExeDependency <$> Parsec.parsec
instance Pretty.Pretty ExeDependency where
pretty = Pretty.pretty . unwrap