avro-piper-1.0.1: app/Options.hs
module Options
where
import Data.Semigroup ((<>))
import Format
import Options.Applicative
data Options = Options
{ optSchemaRegistry :: String
, optDelimiter :: String
} deriving (Show)
options :: Parser Options
options = Options
<$> strOption
( long "schema-registry"
<> short 'r'
<> metavar "URL"
<> help "Schema registry address (http://localhost:8081)"
)
<*> (unescape <$> strOption
( long "delim"
<> short 'D'
<> metavar "STRING"
<> help "Delimiter to separate messages on input"
<> showDefault <> value "\n"
))
optionsParser :: ParserInfo Options
optionsParser = info (helper <*> options)
( fullDesc
)
parseOptions :: IO Options
parseOptions = execParser optionsParser