{-# LANGUAGE FlexibleContexts #-} module Options where import Data.Monoid import qualified Distribution.Package as C import Distribution.Text import qualified Distribution.Version as V import Options.Applicative.Types (readerAsk, fromM, manyM) import Options.Applicative.Builder import Options.Applicative.Common import qualified Text.ParserCombinators.Parsec as P import Db import Options.Db import qualified Data.List as L data Options = Options { outputDir :: FilePath, quiet :: Bool, cabalFile :: Maybe FilePath, cabalExclusions :: [String], sandbox :: Bool, nouser :: Bool, db :: Maybe FilePath, dbOrdering :: [Db], packages :: [C.Dependency] } deriving Show parser :: Parser Options parser = Options <$> (strOption $ long "output" <> short 'o' <> metavar "