summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-07-08 18:31:05 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-07-08 18:31:44 -0400
commit9617bc68ba9dde3224ab1063defff4c8aa558ac2 (patch)
tree95d210b15182e98106244ee9525144e4756748c9
parente5fadb1bbcd0bafc9d2e9c5ded2e644e532baafc (diff)
improve --help display for commands
-rw-r--r--CmdLine.hs9
-rw-r--r--CmdLine/Usage.hs16
2 files changed, 3 insertions, 22 deletions
diff --git a/CmdLine.hs b/CmdLine.hs
index 89f9964b7..c61a0050c 100644
--- a/CmdLine.hs
+++ b/CmdLine.hs
@@ -75,13 +75,10 @@ dispatch fuzzyok allargs allcmds commonoptions fields header getgitrepo = do
parseCmd :: CmdParams -> [Command] -> (Command -> O.Parser v) -> O.ParserResult (Command, v)
parseCmd allargs allcmds getparser = O.execParserPure (O.prefs O.idm) pinfo allargs
where
- pinfo = O.info (O.subparser $ mconcat $ map mkcommand allcmds)
- ( O.fullDesc
- <> O.progDesc "hiya"
- <> O.header "ook - aaa"
- )
+ pinfo = O.info (O.helper <*> subcmds) O.fullDesc
+ subcmds = O.subparser $ mconcat $ map mkcommand allcmds
mkcommand c = O.command (cmdname c) $ O.info (mkparser c)
- (O.fullDesc <> O.progDesc (cmddesc c))
+ (O.fullDesc <> O.header (cmddesc c))
mkparser c = (,)
<$> pure c
<*> getparser c
diff --git a/CmdLine/Usage.hs b/CmdLine/Usage.hs
index 1355c4316..0b1cade05 100644
--- a/CmdLine/Usage.hs
+++ b/CmdLine/Usage.hs
@@ -10,8 +10,6 @@ module CmdLine.Usage where
import Common.Annex
import Types.Command
-import System.Console.GetOpt
-
usageMessage :: String -> String
usageMessage s = "Usage: " ++ s
@@ -41,20 +39,6 @@ usage header cmds = unlines $ usageMessage header : concatMap go [minBound..]
longest f = foldl max 0 $ map (length . f) cmds
scmds = sort cmds
-{- Usage message for a single command. -}
-commandUsage :: Command -> String
-commandUsage cmd = unlines
- [ usageInfo header (cmdoptions cmd)
- , "To see additional options common to all commands, run: git annex help options"
- ]
- where
- header = usageMessage $ unwords
- [ "git-annex"
- , cmdname cmd
- , cmdparamdesc cmd
- , "[option ...]"
- ]
-
{- Descriptions of params used in usage messages. -}
paramPaths :: String
paramPaths = paramRepeating paramPath -- most often used