add help command

This commit is contained in:
Joey Hess 2012-10-13 19:07:56 -04:00
parent 9555e26950
commit 4571ad9590
3 changed files with 58 additions and 0 deletions

51
Command/Help.hs Normal file
View file

@ -0,0 +1,51 @@
{- git-annex command
-
- Copyright 2012 Joey Hess <joey@kitenet.net>
-
- Licensed under the GNU GPL version 3 or higher.
-}
module Command.Help where
import Common.Annex
import Command
import qualified Command.Init
import qualified Command.Add
import qualified Command.Drop
import qualified Command.Get
import qualified Command.Move
import qualified Command.Copy
import qualified Command.Sync
import qualified Command.Whereis
import qualified Command.Fsck
def :: [Command]
def = [noCommit $ noRepo showHelp $ dontCheck repoExists $
command "help" paramNothing seek "display help"]
seek :: [CommandSeek]
seek = [withWords start]
start :: [String] -> CommandStart
start _ = do
liftIO showHelp
stop
showHelp :: IO ()
showHelp = liftIO $ putStrLn $ unlines
[ "The most commonly used git-annex commands are:"
, unlines $ map cmdline $ concat
[ Command.Init.def
, Command.Add.def
, Command.Drop.def
, Command.Get.def
, Command.Move.def
, Command.Copy.def
, Command.Sync.def
, Command.Whereis.def
, Command.Fsck.def
]
, "Run git-annex without any options for a complete command and option list."
]
where
cmdline c = "\t" ++ cmdname c ++ "\t" ++ cmddesc c

View file

@ -71,6 +71,7 @@ import qualified Command.Assistant
import qualified Command.WebApp
#endif
#endif
import qualified Command.Help
cmds :: [Command]
cmds = concat
@ -123,6 +124,7 @@ cmds = concat
, Command.WebApp.def
#endif
#endif
, Command.Help.def
]
options :: [Option]

View file

@ -16,3 +16,8 @@ Something similar to 'git-annex --help', or a pointer to --help.
> What version of git-annex are you using? On what operating system?
git-annex version 3.20120825 on Arch Linux x86_64, installed from AUR package git-annex and using the [haskell] repository for dependencies.
>> Lol, that's great! Also worth noting that with help.autocorrect=1, it'd
>> actually run drop. Only with --force can you lose data however.
>>
>> I've added a help command. [[done]] --[[Joey]]