module Main where

import           Cardano.Chairman.Commands
import           Control.Monad
import           Options.Applicative

main :: IO ()
IO ()
main = forall (m :: * -> *) a. Monad m => m (m a) -> m a
join
  forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. ParserPrefs -> ParserInfo a -> IO a
customExecParser
    ( PrefsMod -> ParserPrefs
prefs (PrefsMod
showHelpOnEmpty forall a. Semigroup a => a -> a -> a
<> PrefsMod
showHelpOnError)
    )
  forall a b. (a -> b) -> a -> b
$ forall a. Parser a -> InfoMod a -> ParserInfo a
info (Parser (IO ())
commands forall (f :: * -> *) a b. Applicative f => f a -> f (a -> b) -> f b
<**> forall a. Parser (a -> a)
helper)
    (  forall a. InfoMod a
fullDesc
    forall a. Semigroup a => a -> a -> a
<> forall a. String -> InfoMod a
progDesc String
"Chairman checks Cardano clusters for progress and consensus."
    forall a. Semigroup a => a -> a -> a
<> forall a. String -> InfoMod a
header String
"Chairman sits in a room full of Shelley nodes, and checks \
              \if they are all behaving ..."
    )