module Args ( Options (..), cmdOptions, runArgsParser, ) where import Distribution.ArchHs.Internal.Prelude import Distribution.ArchHs.Options import Distribution.ArchHs.Types import Distribution.ArchHs.Utils (archHsVersion) data Options = Options { optFlags :: FlagAssignments, optExtraDB :: ExtraDBOptions, optHackage :: HackageDBOptions, optPackageName :: PackageName } cmdOptions :: Parser Options cmdOptions = Options <$> optFlagAssignmentParser <*> extraDBOptionsParser <*> hackageDBOptionsParser <*> argument optPackageNameReader (metavar "TARGET") runArgsParser :: IO Options runArgsParser = do (x, ()) <- simpleOptions archHsVersion "arch-hs-rdepcheck - check the version of a dependent Haskell package" "arch-hs-rdepcheck is a CLI tool that shows all reverse dependencies of a Haskell package in [extra], giving the version range how it is depended on" cmdOptions empty pure x