optparse-applicative 0.8.0.1 → 0.8.1
raw patch · 7 files changed
+54/−18 lines, 7 filesdep ~QuickCheck
Dependency ranges changed: QuickCheck
Files
- CHANGELOG.md +5/−0
- Options/Applicative/Extra.hs +6/−6
- Options/Applicative/Help/Core.hs +16/−10
- optparse-applicative.cabal +4/−2
- tests/Tests.hs +8/−0
- tests/commands_header.err.txt +3/−0
- tests/commands_header_full.err.txt +12/−0
CHANGELOG.md view
@@ -1,3 +1,8 @@+## Version 0.8.1 (5 May 2014)++- Fixed bugs+ * \#74 - Missing newline+ ## Version 0.8.0.1 (19 Mar 2014) - Fixed bugs
Options/Applicative/Extra.hs view
@@ -132,17 +132,13 @@ . renderPretty 1.0 (prefColumns pprefs) . helpText - show_full_help = case msg of- ShowHelpText -> True- _ -> prefShowHelpOnError pprefs- usage_help progn names i = case msg of InfoMsg _ -> mempty _ -> usageHelp $ vcatChunks [ pure . parserUsage pprefs (infoParser i) . unwords $ progn : names , fmap (indent 2) . infoProgDesc $ i ] - error_help = headerHelp $ case msg of+ error_help = errorHelp $ case msg of ShowHelpText -> mempty ErrorMsg m -> stringChunk m InfoMsg m -> stringChunk m@@ -152,7 +148,11 @@ | show_full_help = mconcat [h, f, parserHelp pprefs (infoParser i)] | otherwise- = h+ = mempty where h = headerHelp (infoHeader i) f = footerHelp (infoFooter i)++ show_full_help = case msg of+ ShowHelpText -> True+ _ -> prefShowHelpOnError pprefs
Options/Applicative/Help/Core.hs view
@@ -4,6 +4,7 @@ fullDesc, ParserHelp(..), helpText,+ errorHelp, headerHelp, usageHelp, bodyHelp,@@ -110,31 +111,36 @@ , descSurround = False } data ParserHelp = ParserHelp- { helpHeader :: Chunk Doc+ { helpError :: Chunk Doc+ , helpHeader :: Chunk Doc , helpUsage :: Chunk Doc , helpBody :: Chunk Doc , helpFooter :: Chunk Doc } instance Monoid ParserHelp where- mempty = ParserHelp mempty mempty mempty mempty- mappend (ParserHelp h1 u1 b1 f1) (ParserHelp h2 u2 b2 f2)- = ParserHelp (mappend h1 h2) (mappend u1 u2)- (mappend b1 b2) (mappend f1 f2)+ mempty = ParserHelp mempty mempty mempty mempty mempty+ mappend (ParserHelp e1 h1 u1 b1 f1) (ParserHelp e2 h2 u2 b2 f2)+ = ParserHelp (mappend e1 e2) (mappend h1 h2)+ (mappend u1 u2) (mappend b1 b2)+ (mappend f1 f2) +errorHelp :: Chunk Doc -> ParserHelp+errorHelp chunk = ParserHelp chunk mempty mempty mempty mempty+ headerHelp :: Chunk Doc -> ParserHelp-headerHelp chunk = ParserHelp chunk mempty mempty mempty+headerHelp chunk = ParserHelp mempty chunk mempty mempty mempty usageHelp :: Chunk Doc -> ParserHelp-usageHelp chunk = ParserHelp mempty chunk mempty mempty+usageHelp chunk = ParserHelp mempty mempty chunk mempty mempty bodyHelp :: Chunk Doc -> ParserHelp-bodyHelp chunk = ParserHelp mempty mempty chunk mempty+bodyHelp chunk = ParserHelp mempty mempty mempty chunk mempty footerHelp :: Chunk Doc -> ParserHelp-footerHelp chunk = ParserHelp mempty mempty mempty chunk+footerHelp chunk = ParserHelp mempty mempty mempty mempty chunk helpText :: ParserHelp -> Doc-helpText (ParserHelp h u b f) = extractChunk . vsepChunks $ [h, u, b, f]+helpText (ParserHelp e h u b f) = extractChunk . vsepChunks $ [e, h, u, b, f] -- | Generate the help text for a program. parserHelp :: ParserPrefs -> Parser a -> ParserHelp
optparse-applicative.cabal view
@@ -1,5 +1,5 @@ name: optparse-applicative-version: 0.8.0.1+version: 0.8.1 synopsis: Utilities and combinators for parsing command line options description: Here is a simple example of an applicative option parser:@@ -79,6 +79,8 @@ tests/alt.err.txt tests/cabal.err.txt tests/commands.err.txt+ tests/commands_header.err.txt+ tests/commands_header_full.err.txt tests/hello.err.txt tests/formatting.err.txt tests/nested.err.txt@@ -117,7 +119,7 @@ build-depends: base == 4.*, HUnit == 1.2.*, optparse-applicative,- QuickCheck == 2.6.*,+ QuickCheck >= 2.6 && < 2.8, test-framework >= 0.6 && < 0.9, test-framework-hunit >= 0.2 && < 0.4, test-framework-quickcheck2 == 0.3.*,
tests/Tests.hs view
@@ -72,6 +72,14 @@ case_modes :: Assertion case_modes = checkHelpText "commands" Commands.opts ["--help"] +case_cmd_header :: Assertion+case_cmd_header = do+ let i = info (helper <*> Commands.sample) (header "foo")+ checkHelpTextWith (ExitFailure 1) (prefs idm)+ "commands_header" i ["-zzz"]+ checkHelpTextWith (ExitFailure 1) (prefs showHelpOnError)+ "commands_header_full" i ["-zzz"]+ case_cabal_conf :: Assertion case_cabal_conf = checkHelpText "cabal" Cabal.pinfo ["configure", "--help"]
+ tests/commands_header.err.txt view
@@ -0,0 +1,3 @@+Invalid option `-zzz'++Usage: commands_header COMMAND
+ tests/commands_header_full.err.txt view
@@ -0,0 +1,12 @@+Invalid option `-zzz'++foo++Usage: commands_header_full COMMAND++Available options:+ -h,--help Show this help text++Available commands:+ hello Print greeting+ goodbye Say goodbye