From 4571ad9590be0bfcb9b9389fe88670faaae8f3be Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 13 Oct 2012 19:07:56 -0400 Subject: [PATCH] add help command --- Command/Help.hs | 51 +++++++++++++++++++++++ GitAnnex.hs | 2 + doc/bugs/gix-annex_help_is_homicidal.mdwn | 5 +++ 3 files changed, 58 insertions(+) create mode 100644 Command/Help.hs diff --git a/Command/Help.hs b/Command/Help.hs new file mode 100644 index 0000000000..80a7b95207 --- /dev/null +++ b/Command/Help.hs @@ -0,0 +1,51 @@ +{- git-annex command + - + - Copyright 2012 Joey Hess + - + - 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 diff --git a/GitAnnex.hs b/GitAnnex.hs index 0901084162..c35846df73 100644 --- a/GitAnnex.hs +++ b/GitAnnex.hs @@ -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] diff --git a/doc/bugs/gix-annex_help_is_homicidal.mdwn b/doc/bugs/gix-annex_help_is_homicidal.mdwn index c3204ade4f..f4a8d72137 100644 --- a/doc/bugs/gix-annex_help_is_homicidal.mdwn +++ b/doc/bugs/gix-annex_help_is_homicidal.mdwn @@ -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]]