module Monitor.Configuration.Options where import Options.Applicative data Options = Options { Options -> FilePath optionsDir :: FilePath , Options -> FilePath optionsToken :: String } deriving (Int -> Options -> ShowS [Options] -> ShowS Options -> FilePath (Int -> Options -> ShowS) -> (Options -> FilePath) -> ([Options] -> ShowS) -> Show Options forall a. (Int -> a -> ShowS) -> (a -> FilePath) -> ([a] -> ShowS) -> Show a showList :: [Options] -> ShowS $cshowList :: [Options] -> ShowS show :: Options -> FilePath $cshow :: Options -> FilePath showsPrec :: Int -> Options -> ShowS $cshowsPrec :: Int -> Options -> ShowS Show, Options -> Options -> Bool (Options -> Options -> Bool) -> (Options -> Options -> Bool) -> Eq Options forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Options -> Options -> Bool $c/= :: Options -> Options -> Bool == :: Options -> Options -> Bool $c== :: Options -> Options -> Bool Eq) optionsParser :: Parser Options optionsParser :: Parser Options optionsParser = FilePath -> FilePath -> Options Options (FilePath -> FilePath -> Options) -> Parser FilePath -> Parser (FilePath -> Options) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Mod OptionFields FilePath -> Parser FilePath forall s. IsString s => Mod OptionFields s -> Parser s strOption ( FilePath -> Mod OptionFields FilePath forall (f :: * -> *) a. HasName f => FilePath -> Mod f a long FilePath "dir" Mod OptionFields FilePath -> Mod OptionFields FilePath -> Mod OptionFields FilePath forall a. Semigroup a => a -> a -> a <> Char -> Mod OptionFields FilePath forall (f :: * -> *) a. HasName f => Char -> Mod f a short Char 'D' Mod OptionFields FilePath -> Mod OptionFields FilePath -> Mod OptionFields FilePath forall a. Semigroup a => a -> a -> a <> FilePath -> Mod OptionFields FilePath forall (f :: * -> *) a. HasMetavar f => FilePath -> Mod f a metavar FilePath "CONFIG_DIR" Mod OptionFields FilePath -> Mod OptionFields FilePath -> Mod OptionFields FilePath forall a. Semigroup a => a -> a -> a <> FilePath -> Mod OptionFields FilePath forall (f :: * -> *) a. HasValue f => a -> Mod f a value FilePath ".monitor" Mod OptionFields FilePath -> Mod OptionFields FilePath -> Mod OptionFields FilePath forall a. Semigroup a => a -> a -> a <> FilePath -> Mod OptionFields FilePath forall (f :: * -> *) a. FilePath -> Mod f a help FilePath "Path to configuration directory" ) Parser (FilePath -> Options) -> Parser FilePath -> Parser Options forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Mod OptionFields FilePath -> Parser FilePath forall s. IsString s => Mod OptionFields s -> Parser s strOption ( FilePath -> Mod OptionFields FilePath forall (f :: * -> *) a. HasName f => FilePath -> Mod f a long FilePath "token" Mod OptionFields FilePath -> Mod OptionFields FilePath -> Mod OptionFields FilePath forall a. Semigroup a => a -> a -> a <> Char -> Mod OptionFields FilePath forall (f :: * -> *) a. HasName f => Char -> Mod f a short Char 'T' Mod OptionFields FilePath -> Mod OptionFields FilePath -> Mod OptionFields FilePath forall a. Semigroup a => a -> a -> a <> FilePath -> Mod OptionFields FilePath forall (f :: * -> *) a. HasMetavar f => FilePath -> Mod f a metavar FilePath "TOKEN_VAR" Mod OptionFields FilePath -> Mod OptionFields FilePath -> Mod OptionFields FilePath forall a. Semigroup a => a -> a -> a <> FilePath -> Mod OptionFields FilePath forall (f :: * -> *) a. HasValue f => a -> Mod f a value FilePath "TG_TOKEN" Mod OptionFields FilePath -> Mod OptionFields FilePath -> Mod OptionFields FilePath forall a. Semigroup a => a -> a -> a <> FilePath -> Mod OptionFields FilePath forall (f :: * -> *) a. FilePath -> Mod f a help FilePath "Variable with Telegram access token" ) options :: ParserInfo Options options :: ParserInfo Options options = Parser Options -> InfoMod Options -> ParserInfo Options forall a. Parser a -> InfoMod a -> ParserInfo a info (Parser Options optionsParser Parser Options -> Parser (Options -> Options) -> Parser Options forall (f :: * -> *) a b. Applicative f => f a -> f (a -> b) -> f b <**> Parser (Options -> Options) forall a. Parser (a -> a) helper) ( InfoMod Options forall a. InfoMod a fullDesc InfoMod Options -> InfoMod Options -> InfoMod Options forall a. Semigroup a => a -> a -> a <> FilePath -> InfoMod Options forall a. FilePath -> InfoMod a progDesc FilePath "PostgreSQL data consistency monitoring tool" InfoMod Options -> InfoMod Options -> InfoMod Options forall a. Semigroup a => a -> a -> a <> FilePath -> InfoMod Options forall a. FilePath -> InfoMod a header FilePath "dbmonitor" )