optparse-simple 0.0.0 → 0.0.1
raw patch · 2 files changed
+9/−5 lines, 2 files
Files
optparse-simple.cabal view
@@ -1,5 +1,5 @@ name: optparse-simple-version: 0.0.0+version: 0.0.1 synopsis: Simple interface to optparse-applicative description: Simple interface to optparse-applicative license: BSD3
src/Options/Applicative/Simple.hs view
@@ -47,6 +47,7 @@ import Language.Haskell.TH (Q,Exp) import qualified Language.Haskell.TH.Syntax as TH import Options.Applicative+import System.Environment -- | Generate a simple options parser. simpleOptions@@ -62,9 +63,12 @@ -- ^ commands (use 'addCommand') -> IO (a,b) simpleOptions versionString h pd globalParser commandParser =- execParser $- info (helpOption <*> versionOption <*> config) desc- where desc = fullDesc <> header h <> progDesc pd+ do args <- getArgs+ case getParseResult (execParserPure (prefs idm) parser args) of+ Nothing -> withArgs ["--help"] (execParser parser)+ Just ab -> return ab+ where parser = info (helpOption <*> versionOption <*> config) desc+ desc = fullDesc <> header h <> progDesc pd helpOption = abortOption ShowHelpText $ long "help" <>@@ -76,7 +80,7 @@ help "Show version") config = (,) <$> globalParser <*>- case (runWriter (runEitherT commandParser)) of+ case runWriter (runEitherT commandParser) of (Right (),d) -> subparser d (Left b,_) -> pure b