summaryrefslogtreecommitdiff
path: root/Command/Help.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-11-30 15:18:40 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-11-30 15:18:40 -0400
commit440f3b1068a1d0a49dff1307124c4f7f0bcd6f5d (patch)
treedcc4b0c54f52b89aa95956c0e32cf6e781f17057 /Command/Help.hs
parentf04b34c4584e18f4c722700eda5e80eb0345f035 (diff)
make "git annex help options" work outside a git repo
Option parsing for commands that run outside git repos is still screwy, as there is no Annex monad and so the flags cannot be passed in. But, any remaining parameters can be, which is enough for this fix.
Diffstat (limited to 'Command/Help.hs')
-rw-r--r--Command/Help.hs16
1 files changed, 10 insertions, 6 deletions
diff --git a/Command/Help.hs b/Command/Help.hs
index c77f739c1..71e767663 100644
--- a/Command/Help.hs
+++ b/Command/Help.hs
@@ -23,20 +23,24 @@ import GitAnnex.Options
import System.Console.GetOpt
def :: [Command]
-def = [noCommit $ noRepo showGeneralHelp $ dontCheck repoExists $
+def = [noCommit $ noRepo startNoRepo $ dontCheck repoExists $
command "help" paramNothing seek SectionQuery "display help"]
seek :: [CommandSeek]
seek = [withWords start]
start :: [String] -> CommandStart
-start ["options"] = do
- liftIO showCommonOptions
- stop
-start _ = do
- liftIO showGeneralHelp
+start params = do
+ liftIO $ start' params
stop
+startNoRepo :: CmdParams -> IO ()
+startNoRepo = start'
+
+start' :: [String] -> IO ()
+start' ["options"] = showCommonOptions
+start' _ = showGeneralHelp
+
showCommonOptions :: IO ()
showCommonOptions = putStrLn $ usageInfo "Common options:" options