Parse command-line options

This commit is contained in:
Joscha 2020-03-27 21:35:04 +00:00
parent 975c5e4116
commit 362025c8df
3 changed files with 35 additions and 1 deletions

View file

@ -0,0 +1,27 @@
module Mima.MimaRun.Options
( Options(..)
, parserInfo
) where
import Options.Applicative
data Options = Options
{ inputFile :: FilePath
, steps :: Maybe Integer
} deriving (Show)
parser :: Parser Options
parser = Options
<$> strOption
( help "The .mima file to use"
<> metavar "INPUTFILE"
)
<*> (optional . option auto)
( short 'n'
<> long "steps"
<> help "Maximum number of steps to execute"
<> metavar "STEPS"
)
parserInfo :: ParserInfo Options
parserInfo = info (parser <**> helper) (failureCode 1)