-- | Copyright: (c) 2024-2025 Joshua Moerman, Open Universiteit -- SPDX-License-Identifier: EUPL-1.2 module CommonOptions where import Options.Applicative data CommonOptions = CommonOptions { extraChecks :: Bool , verbose :: Bool , moreOutput :: Bool , logDirectory :: FilePath , resultsDirectory :: FilePath } deriving Show commonOptionsParser :: Parser CommonOptions commonOptionsParser = CommonOptions <$> switch (long "extra-checks" <> help "Enable extra validation checks") <*> switch (long "verbose" <> short 'v' <> help "More out to the terminal") <*> switch (long "more-output" <> help "More output to files") <*> option str (long "log-directory" <> help "Directory for logging" <> showDefault <> value "log") <*> option str (long "results-directory" <> help "Directory for outputs" <> showDefault <> value "results")