Command data structure tweaking

This commit is contained in:
Joey Hess 2012-01-05 20:40:31 -04:00
parent cdcf0aac71
commit 47be4383b7
3 changed files with 10 additions and 8 deletions

View file

@ -67,8 +67,8 @@ usage header cmds options = usageInfo top options ++ commands
showcmd c =
cmdname c ++
pad (longest cmdname + 1) (cmdname c) ++
cmdparams c ++
pad (longest cmdparams + 2) (cmdparams c) ++
cmdparamdesc c ++
pad (longest cmdparamdesc + 2) (cmdparamdesc c) ++
cmddesc c
pad n s = replicate (n - length s) ' '
longest f = foldl max 0 $ map (length . f) cmds

View file

@ -33,12 +33,12 @@ type CommandCleanup = Annex Bool
{- A command is defined by specifying these things. -}
data Command = Command {
cmdnorepo :: Maybe (IO ()),
cmdcheck :: [CommandCheck],
cmdnorepo :: Maybe (IO ()), -- an action to run when not in a repo
cmdcheck :: [CommandCheck], -- check stage
cmdname :: String,
cmdparams :: String,
cmdseek :: [CommandSeek],
cmddesc :: String
cmdparamdesc :: String, -- description of params for usage
cmdseek :: [CommandSeek], -- seek stage
cmddesc :: String -- description of command for usage
}
{- CommandCheck functions can be compared using their unique id. -}

View file

@ -36,7 +36,9 @@ cmds_notreadonly = concat
cmds :: [Command]
cmds = map adddirparam $ cmds_readonly ++ cmds_notreadonly
where
adddirparam c = c { cmdparams = "DIRECTORY " ++ cmdparams c }
adddirparam c = c
{ cmdparamdesc = "DIRECTORY " ++ cmdparamdesc c
}
options :: [OptDescr (Annex ())]
options = commonOptions ++