diff options
author | Joey Hess <joey@kitenet.net> | 2012-02-16 16:53:44 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-02-16 16:53:44 -0400 |
commit | 990fcad9787ef5fa3b7c039c3ee01ef298b60a27 (patch) | |
tree | b644e53ea09cc35994f6187ccd1434d802a790b6 | |
parent | db6b4cdfcf67cfc3fce5e5f4323aa96a6ebd3e59 (diff) |
order commands in usage by name
-rw-r--r-- | Types/Command.hs | 9 | ||||
-rw-r--r-- | Usage.hs | 3 |
2 files changed, 11 insertions, 1 deletions
diff --git a/Types/Command.hs b/Types/Command.hs index 6dbcf48d1..c5020d112 100644 --- a/Types/Command.hs +++ b/Types/Command.hs @@ -7,6 +7,8 @@ module Types.Command where +import Data.Ord + import Types {- A command runs in these stages. @@ -46,3 +48,10 @@ data Command = Command {- CommandCheck functions can be compared using their unique id. -} instance Eq CommandCheck where a == b = idCheck a == idCheck b + +instance Eq Command where + a == b = cmdname a == cmdname b + +{- Order commands by name -} +instance Ord Command where + compare = comparing cmdname @@ -7,6 +7,7 @@ module Usage where +import Common.Annex import System.Console.GetOpt import Types.Command @@ -30,7 +31,7 @@ usage header cmds commonoptions = unlines $ alloptlines = filter (not . null) $ lines $ usageInfo "" $ concatMap cmdoptions cmds ++ commonoptions - (cmdlines, optlines) = go cmds alloptlines [] + (cmdlines, optlines) = go (sort cmds) alloptlines [] go [] os ls = (ls, os) go (c:cs) os ls = go cs os' (ls++(l:o)) where |