optparse-applicative 0.5.1 → 0.5.2
raw patch · 4 files changed
+27/−17 lines, 4 filesdep ~base
Dependency ranges changed: base
Files
- Options/Applicative/BashCompletion.hs +4/−3
- Options/Applicative/Builder.hs +12/−4
- Options/Applicative/Extra.hs +10/−9
- optparse-applicative.cabal +1/−1
Options/Applicative/BashCompletion.hs view
@@ -23,11 +23,12 @@ complParser = asum [ failure <$> ( bashCompletionQuery parser pprefs- <$> (many . strOption) (long "bash-completion-word" <> internal)- <*> option (long "bash-completion-index" <> internal) )+ <$> (many . strOption) (long "bash-completion-word"+ `mappend` internal)+ <*> option (long "bash-completion-index" `mappend` internal) ) , failure <$> (bashCompletionScript <$>- strOption (long "bash-completion-script" <> internal)) ]+ strOption (long "bash-completion-script" `mappend` internal)) ] bashCompletionQuery :: Parser a -> ParserPrefs -> [String] -> Int -> String -> IO [String] bashCompletionQuery parser pprefs ws i _ = case runCompletion compl pprefs of
Options/Applicative/Builder.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} module Options.Applicative.Builder ( -- * Parser builders --@@ -47,7 +48,10 @@ completer, idm, (&),+#if __GLASGOW_HASKELL__ > 702 (<>),+#endif+ mappend, -- * Readers --@@ -76,7 +80,11 @@ ) where import Control.Applicative (pure, (<|>))-import Data.Monoid (Monoid (..), (<>))+import Data.Monoid (Monoid (..)+#if __GLASGOW_HASKELL__ > 702+ , (<>)+#endif+ ) import Options.Applicative.Builder.Completer import Options.Applicative.Builder.Arguments@@ -173,7 +181,7 @@ subparser :: Mod CommandFields a -> Parser a subparser m = mkParser d g rdr where- Mod f d g = m <> metavar "COMMAND"+ Mod f d g = m `mappend` metavar "COMMAND" CommandFields cmds = f (CommandFields []) rdr = CmdReader (map fst cmds) (`lookup` cmds) -- | Builder for a flag parser.@@ -223,11 +231,11 @@ -- | Builder for an option taking a 'String' argument. strOption :: Mod OptionFields String -> Parser String-strOption m = nullOption $ reader str <> m+strOption m = nullOption $ reader str `mappend` m -- | Builder for an option using the 'auto' reader. option :: Read a => Mod OptionFields a -> Parser a-option m = nullOption $ reader auto <> m+option m = nullOption $ reader auto `mappend` m -- | Modifier for 'ParserInfo'. newtype InfoMod a = InfoMod
Options/Applicative/Extra.hs view
@@ -12,6 +12,7 @@ ) where import Control.Applicative ((<$>), (<|>))+import Data.Monoid (mconcat) import System.Environment (getArgs, getProgName) import System.Exit (exitWith, ExitCode(..)) import System.IO (hPutStr, stderr)@@ -26,15 +27,15 @@ -- | A hidden \"helper\" option which always fails. helper :: Parser (a -> a)-helper = nullOption- ( long "help"- <> reader (const (Left ShowHelpText))- <> noArgError ShowHelpText- <> short 'h'- <> help "Show this help text"- <> value id- <> metavar ""- <> hidden )+helper = nullOption $ mconcat+ [ long "help"+ , reader (const (Left ShowHelpText))+ , noArgError ShowHelpText+ , short 'h'+ , help "Show this help text"+ , value id+ , metavar ""+ , hidden ] -- | Run a program description. --
optparse-applicative.cabal view
@@ -1,5 +1,5 @@ name: optparse-applicative-version: 0.5.1+version: 0.5.2 synopsis: Utilities and combinators for parsing command line options description: Here is a simple example of an applicative option parser: