Skip to content

Instantly share code, notes, and snippets.

@berdario
Created September 5, 2014 11:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save berdario/a3a6297395cfec8da4db to your computer and use it in GitHub Desktop.
Save berdario/a3a6297395cfec8da4db to your computer and use it in GitHub Desktop.
import Paths_hdoit (version)
import Data.Version (showVersion)
import Options.Applicative
data Arguments = Arguments
{ version :: Bool,
argCommand :: Command
} deriving Show
data Command = Add (Maybe String) | Base deriving Show
comparser = (Arguments <$> (switch $ long "version") <*>)
addOpt = comparser $ Add <$> (optional $ strOption $ long "foo")
argparser = (comparser $ pure Base) <|>
subparser
( command "add" (info addOpt fullDesc))
-- main = putStrLn $ showVersion version
main = execParser (info argparser fullDesc) >>= print
-- main = print $ Options {optCommand = Base}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment