convert all commands to work with optparse-applicative

Still no options though.
This commit is contained in:
Joey Hess 2015-07-08 15:08:02 -04:00
parent 3125da54f6
commit 6e5c1f8db3
99 changed files with 391 additions and 297 deletions

View file

@ -1,6 +1,6 @@
{- git-annex usage messages
-
- Copyright 2010-2011 Joey Hess <id@joeyh.name>
- Copyright 2010-2015 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU GPL version 3 or higher.
-}
@ -8,10 +8,10 @@
module CmdLine.Usage where
import Common.Annex
import Types.Command
import System.Console.GetOpt
import qualified Options.Applicative as O
usageMessage :: String -> String
usageMessage s = "Usage: " ++ s
@ -56,6 +56,13 @@ commandUsage cmd = unlines
, "[option ...]"
]
{- Simple CommandParser generator, for when the CommandSeek wants all
- non-option parameters. -}
withParams :: (CmdParams -> CommandSeek) -> String -> CommandParser
withParams mkseek paramdesc = mkseek <$> O.many cmdparams
where
cmdparams = O.argument O.str (O.metavar paramdesc)
{- Descriptions of params used in usage messages. -}
paramPaths :: String
paramPaths = paramRepeating paramPath -- most often used