aboutsummaryrefslogtreecommitdiff
path: root/CmdLine/Usage.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-07-08 15:08:02 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-07-08 15:08:02 -0400
commite7e61fb6cbe5455ded9bb550a64121223c099fc2 (patch)
tree003a99697256ea516ad40f9fbdb854996b58c0cd /CmdLine/Usage.hs
parent8879c96d157f06bbd2372064251676b7927ce38e (diff)
convert all commands to work with optparse-applicative
Still no options though.
Diffstat (limited to 'CmdLine/Usage.hs')
-rw-r--r--CmdLine/Usage.hs11
1 files changed, 9 insertions, 2 deletions
diff --git a/CmdLine/Usage.hs b/CmdLine/Usage.hs
index b386be9a6..58408762b 100644
--- a/CmdLine/Usage.hs
+++ b/CmdLine/Usage.hs
@@ -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